2012-11-25 7 views
6

をスロー:。`getContentResolver()openInputStream(URI)`私は、ユーザーが写真を選択できるように、この目的に使用FileNotFoundExceptionを

Intent intent = new Intent(Intent.ACTION_PICK, 
          MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
startActivityForResult(intent, INTENT_SELECT_PHOTO); 

そしてonActivityResult中を:

Uri uri = data.getData(); 
InputStream inputStream = getContentResolver().openInputStream(uri); 

をしかし、それはいくつかのFileNotFoundExceptionをスローしますアンドロイドデバイス。

uriの値:

content://media/external/images/media/26467 

例外がスローさ:

java.io.FileNotFoundException: No such file or directory 

そして、それはそれはいくつかの他のAndroidデバイス上でこの例外をスローしないことは非常に奇妙です。このエラーの原因と解決方法ローカルデバイス上の画像のため

答えて

2
MediaStore.Images.Media.INTERNAL_CONTENT_URI 

またはSDカードの画像について

MediaStore.Images.Media.EXTERNAL_CONTENT_URI 

どちらも正しくアドレス指定していますか?内的/外的治療はデバイスによって異なります。多分それが他の人には働いているのではないでしょうか。

+3

実際の画像は削除されていますが、写真ビューアアプリケーションにキャッシュがあるため、私はそれを見つけました。 – Freewind

+0

問題を見つけて、よく遭遇しました。関連する問題を説明したものがありました。http://code.google.com/p/android/issues/detail?id=12508 – Shakti

+0

Right Freewind、正確なコード/エラー閲覧.txtファイルのための私のダウンロードフォルダとダウンロードする場所とその両方がほぼ同じサイズであったが、1つは作業しなかった。ありがとう! – tom

1

私は同じ問題に直面しますが、ImageViewのsetImageURIメソッドを使用して解決しました。

InputStream inputStream = getContentResolver().openInputStream(uri); 

は、単純に次の関数を使用します:あなたは、次のコードを使用する必要がいけない

imageViewCustomer.setImageURI(data.getData()); 
-1

使用Context.getContentResolverを()openInputStream(ウリ)。

関連する問題