两个Activity,一个叫A,一个叫B。
A使用按钮发出一个隐式Intent,如下:
Intent i = new Intent();
i.setAction("android.intent.action.View");
i.setType("image/png");
在menifest文件中设置B的intent-filter,如下:
运行程序,按下按钮,会出现对话框,让选择是用这个程序还是系统自带viewPicture.
选择后会报空指针错误。(因为没有指定图片资源)
然后我在A的Intent中指定图片资源的Uri:
i.setData("android:resource://包名/drawable/图片名")
在B中解析Intent并显示在ImageView中:
Uri uri = getIntent().getData();
ImageView view = (ImageView)findViewById(R.id.show);
view.setImageUri(uri);
再运行程序,就报错:No activity found to handle the intent.
这是为什么??<<<<<<<<<
然后我在Intent中指定Component:
i.setClass(包名,类名)
再执行程序,图片居然在B中显示出来了。
这是为什么??不是没有activity能接收intent吗???
首先,你的uri设置有问题,应该是"content://media/...“,至于你最后为啥能显示出来,我也很好奇,按道理说,你的uri设置有问题,会不会是你布局里本身就设置了图片资源进去。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。