2

ContentResolver cr = getContentResolver(); Uri pic = Uri.parse("content://media/external/images/media/3"); ビットマップ bm = Media.getBitmap(cr,pic);

上記のコードは、Activity クラスの onCreate メソッドに記述されています。次のエラーがスローされます。

08-30 12:27:22.352: WARN/System.err(245): java.io.FileNotFoundException: コンテンツ プロバイダがありません: [content://media/external/images/media/3]

何が間違っている可能性がありますか?別のメソッドで Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI) を起動し、返されたインテントから選択した画像の Uri を取得したため、問題のファイルが存在します。

4

2 に答える 2

0

次のようなことをする必要があります:

private String getPath(Uri uri) {
String[]  data = { MediaStore.Images.Media.DATA };
CursorLoader loader = new CursorLoader(context, uri, data, null, null, null);
Cursor cursor = loader.loadInBackground();
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
于 2013-01-30T13:45:24.320 に答える
-1

さて、私は問題を見つけました。間違った Uri を与えていました。「content://blahblah」を与えるべきだったのに、「[content://blahblah]」を与えていました。

于 2010-09-02T14:02:34.183 に答える