我在galaxy nexus 上发现了一个非常令人沮丧的错误。我启动 az ACTION_PICK
activity 从中选择图像,启动它后,设备显示图库,并立即返回并调用onActivityResult
,所以我无法选择图像。它仅在更新到 Jelly Bean 后出现在Galaxy nexus上。
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(photoPickerIntent, RequestCodeCollection.GALLERY_IMAGE_SELECT);
我用 Instagram 测试了图像挑选,效果很好。可能是什么诀窍?
更新
我从中删除了所有代码,onActivityResult()
并尝试删除覆盖onActivityResult()
的 . 它不起作用。我检查了 Instagram 的工作原理。他们使用一个ACTION_GET_CONTENT
和一个选择器。创建选择器非常重要,因为这样用户无法选择默认源。如果我没有为每个选择创建一个选择器,我可以选择默认源(如画廊、文件管理器等),选择默认后问题又回来了。
Intent photoPickerIntent = new Intent(Intent. ACTION_GET_CONTENT , android.provider.MediaStore.Images.Media. EXTERNAL_CONTENT_URI);
photoPickerIntent.setType( "image/*" );
startActivityForResult(Intent. createChooser(photoPickerIntent, "Select Picture"),RequestCodeCollection. GALLERY_IMAGE_SELECT);
我从 onActivityResult() 中删除了所有代码,并尝试删除覆盖 onActivityResult()。它不起作用。我检查了 Instagram 的工作原理。他们使用 ACTION_GET_CONTENT 和选择器。创建选择器非常重要,因为这样用户无法选择默认源。如果我没有为每个选择创建一个选择器,我可以选择默认源(如画廊、文件管理器等),选择默认后问题又回来了。
Intent photoPickerIntent = new Intent(Intent. ACTION_GET_CONTENT , android.provider.MediaStore.Images.Media. EXTERNAL_CONTENT_URI);
photoPickerIntent.setType( "image/*" );
startActivityForResult(Intent. createChooser(photoPickerIntent, "Select Picture"),RequestCodeCollection. GALLERY_IMAGE_SELECT);