2012-04-03 9 views
1

まず、結果コードが途中で返されることがよくある問題です。この場合、ギャラリー内のアイテムが選択された後にのみ返されます。 Androidギャラリーでは常に返される返信件数は0件です

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は、私は結果を表示するには置くだけのTextViewである私のテストケースで

私はこのコードのギャラリーを呼び出しますテストケース。実際のアプリケーションでは、パスの用途が異なります。

私が_GET_CONTENTではなくACTION_PICKを使用すると、他の人が直ちにエラーを報告します。マニフェストにはlaunchModeタグはありません(一部の投稿ではその領域に問題が示唆されています)。

多分、ここに手がかりがあります。 Toshiba ThriveではGallery、File Manager、Fish Bowlフォトギャラリーを使用してこのバグは表示されません。 Kindle Fireでは、Quickofficeも画像パスを正しく返すことができます。このバグは、Kindleの内蔵ギャラリーにのみ表示されます。このバグは「Motorola Droid(2.3.4)、HTC EVO(2.3)」でも観察されました。

これらのすべてのデバイスで動作する方法でギャラリーから画像パスを取得するにはどうすればよいですか?

+0

Kindle Fireのバグのようです。おそらく、http://stackoverflow.com/questions/9951006/android-image-picker-doesnt-work-on-kindle-fire/9951054#9951054 –

+0

の重複私はあなたが正しいと思う。私は数週間前にこのコードを書いたときにこのコードをテストしたと確信していますが、最近失敗しました。 –

答えて

0

こんにちはスティーブはこれを試して、私はあなたが結果コードを返す意思で指定しない場合、デフォルトのギャラリーで結果コードを返さないと思う私の壁紙のプロジェクト

Intent intent = new Intent(); 
     intent.setType("image/*"); 
     intent.setAction(Intent.ACTION_GET_CONTENT); 
     startActivityForResult(Intent.createChooser(intent, "Select Picture"),SELECT_PICTURE); 
+0

ありがとうございますが、私のコードとまったく同じ結果になります。 –

1

に動作するようです。あなたはこのようなあなたのコード内でこのスニペットを追加することによって、結果コードを返すように意図して指定することができます。この記事はあなたを助け

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); 

場合、答えとしてこのポストをマークしてください。

ありがとうございました。

0

私は、そのアクティビティのマニフェストでlaunchMode = "singleInstance"を設定したとき、私の活動の1つで同じ問題を抱えていました。その属性を削除するとうまく動作します。

関連する問題