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()
。動作しません。インスタグラムの仕組みを調べてみました。彼らは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() のオーバーライドを削除しようとしました。動作しません。インスタグラムの仕組みを調べてみました。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);