为什么当我使用setSelector方法返回既不是相机的活动,也没有画廊Activities.I有以下代码:Android的意图setSelector
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent camera= new Intent("android.media.action.IMAGE_CAPTURE");
Intent gallery = new Intent();
gallery.setAction(android.content.Intent.ACTION_VIEW);
gallery.setType("image/*");
gallery.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
camera.setSelector(gallery);
startActivity(camera);
}
根据Android的参考API“如果选择设置,这将是当试图找到可以处理意图的实体时使用,而不是意图的主要内容。“
我以为我会得到一个打开画廊而不是相机的对话框。但是,相反的,这些我得到一个对话框,返回任意应用程序/活动,如通话设置,网络设置,SIM工具包等
当我删除了camera.setSelector(gallery);
方法的一切就像一个魅力,但是当我使用camera.setSelector(gallery);
方法时,它既不返回Camera活动也不返回Gallery活动。
有人可以解释为什么我会与这些任意活动进行对话而不是恰当的吗?
我不想删除camera.setSelector(gallery);
,因为我想了解它是如何工作的!
您的要求是什么?你想打开选择器对话框显示选项来选择图像吗? – 2014-11-21 09:47:18
如果我删除setSelector方法的每一个意图,它应该像它应该那样工作。为什么当我使用setSelector方法时,它既不返回Camera活动,也不返回Gallery活动。正如我所说的,我希望有人向我解释为什么我有任意活动作为响应相机意图的选项。 – LiTTle 2014-11-21 09:54:09