Android Gallery总是将取消的结果返回给onActivityResult
首先,这不是频繁发布的问题,结果代码过早返回。在这种情况下,只有在库中拾取项目后才会返回 在我的测试用例中,我使用以下代码调用Gallery:Android Gallery总是将取消的结果返回给onActivityResult,android,image,android-intent,gallery,Android,Image,Android Intent,Gallery,首先,这不是频繁发布的问题,结果代码过早返回。在这种情况下,只有在库中拾取项目后才会返回 在我的测试用例中,我使用以下代码调用Gallery: Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent, SELECT_PICTURE); 在onActivityResult中有: if (r
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, SELECT_PICTURE);
在onActivityResult中有:
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
pathText.setText(selectedImageUri.getPath());
}
} else {
pathText.setText("Result not OK - code is " + resultCode);
}
pathText只是我放入的一个文本视图,用于在测试用例中显示结果。在实际应用中,路径有不同的用途
如果我使用ACTION_PICK而不是_GET_内容,我会立即收到其他人报告的故障。清单中没有launchMode标记(一些帖子建议该区域存在问题)
也许这里有线索。在东芝Thrive上,使用Gallery、File Manager或Fish Bowl照片库时,此错误不会出现。在KindleFire上,Quickoffice还能够正确返回图像路径。这个bug只出现在Kindle的内置图库中。在“摩托罗拉Droid(2.3.4)HTC EVO(2.3)”上也观察到了该漏洞
请问,我怎样才能从图库中获得一个在所有这些设备上都有效的图像路径?嗨,史蒂夫,试试看,这似乎对我的壁纸项目有效
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"),SELECT_PICTURE);
我认为,默认情况下,如果您没有在返回结果代码的意图中指定,gallery不会返回结果代码。通过在代码中添加以下代码段,可以在返回结果代码的意图中指定:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra("return-data", true); //added snippet
startActivityForResult(Intent.createChooser(intent, "Select Picture"),SELECT_PICTURE);
当我在清单中为某个活动设置launchMode=“singleInstance”时,我的某个活动也遇到了同样的问题。当我删除该属性时,它工作正常。似乎是Kindle Fire中的一个bug。我想你一定是对的。我确信我在几周前编写这段代码时测试过它,但最近失败了。有趣的事实:如果您使用
startActivityForResult(Intent.createChooser(Intent,null),code)
它甚至可以与laucmode=“singleInstance”
一起使用-谢谢您的提示!