我试图让图库应用分享图片到我的应用,问题是我不知道如何获取图库发送给我的图像数据。我假设我可能在方法.getData()中找到数据,但它返回null
这是我的意图过滤器
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<action android:name="android.intent.action.VIEW"/>
<data android:mimeType="image/*"/>
<category android:name="android.intent.category.default"/>
</intent-filter>
这是我在MainActivity中的代码
Intent data = getIntent(); //get the intent that starts this activity, in this case: gallery intent
if(data != null){
Uri uri = data.getData();
//set the image view: the problem is: uri is always null
imageView.setImageURI(uri);
}
如果方法getData()不是我想要的,那么如何才能获得与我的应用共享的图像?
答案 0 :(得分:0)
所以,我认为我的回答有点迟了,但是无论如何,这里是:
您已经在 AndroidManifest.xml 中正确设置了意图过滤器,如下所示:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
如this Website所述,您可以通过以下命令获取URI:
Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
//set content of ImageView to the specific Uri
imageView.setImageURI(imageUri);
有关意图类的注释可以找到here。