我正在开发一个我想在“共享”列表中注册的应用程序。该部分已经在清单文件中使用以下标签进行了处理:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/*"/>
<data android:mimeType="image/*"/>
</intent-filter>
在查看了一些关于 SO 的示例并使用每个相关问题的片段后,我整理了一个简单(但很笨拙)的代码片段,截至目前,它接收从画廊共享的图像。我还能够成功地将收到的图像上传到 Facebook。
我的问题是,我希望我的应用程序能够共享来自各种应用程序的各种内容。例如,来自 Twitter 的推文、来自浏览器的 URL 等。如何确定从另一个应用程序共享到我的应用程序的数据/内容的确切性质?我可以适当地处理接收到的数据。但我对如何弄清楚共享了哪些内容感到困惑。
我为共享图像而编写的代码是:
注意:我目前在onCreate()
方法中运行这段代码,没有任何错误检查。当我对所关注的问题有所了解时,我会将它们放在适当的位置。
ImageView imgSelectedPhoto = (ImageView)findViewById(R.id.imgDisplaySelectedImage);
Uri imageURI = (Uri) getIntent().getExtras().get(Intent.EXTRA_STREAM);
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageURI));
try {
Utility.scaleImage(getApplicationContext(), imageURI);
imgSelectedPhoto.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
非常感谢任何帮助/建议/建议。