7

ビットマップをギャラリーに保存しようとしています

Bitmap bitmap = Bitmap.createBitmap(surfaceView.getWidth(), surfaceView.getHeight(), Bitmap.Config.ARGB_8888);
surfaceView.draw(new Canvas(bitmap));
MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "foo" , "bar");

エミュレーターでアプリケーションを実行したところ、UnsupportedOperationException が発生しました。

07-25 22:27:48.719: E/MediaStore(1918): Failed to insert image
07-25 22:27:48.719: E/MediaStore(1918): java.lang.UnsupportedOperationException: Unknown URI: content://media/external/images/media
07-25 22:27:48.719: E/MediaStore(1918):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:168)
07-25 22:27:48.719: E/MediaStore(1918):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:136)
07-25 22:27:48.719: E/MediaStore(1918):     at android.content.ContentProviderProxy.insert(ContentProviderNative.java:415)
07-25 22:27:48.719: E/MediaStore(1918):     at android.content.ContentResolver.insert(ContentResolver.java:730)
07-25 22:27:48.719: E/MediaStore(1918):     at android.provider.MediaStore$Images$Media.insertImage(MediaStore.java:801)

残念ながら、私は現在 Android デバイスを持っていません。これはエミュレーターのせいですか? それとも別の理由?

4

2 に答える 2

3

エミュレータの問題であることがわかりました。エミュレータを正しくセットアップしていませんでした。これを修正するには、Android Virtual Device Manager を開き、AVD を編集して SD カードのサイズを追加しました。それが終わったら、AVD を起動して写真を撮ります。私がそれをした後、それは働き始めました。

于 2014-05-28T08:32:39.447 に答える