2013-07-25 8 views
6

Cercando risparmio bitmap in galleriaErrore sconosciuto URI in insertImage

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

ho incontrato l'applicazione sull'emulatore e ha ottenuto un 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) 

Sfortunatamente non ho alcun dispositivo Android in questo momento, è dovuto all'emulatore? O un'altra ragione?

risposta

0

Ha funzionato su Galaxy Nexus. Quindi potrebbe essere un problema di Emulatore.

2

Ho avuto problemi simili quando la directory DCIM/Camera non esisteva sulla sdcard. Creare la directory (e avere il permesso) ha risolto per me un problema simile.

+0

quale permesso ...? – zezba9000

1

Ho scoperto che si trattava di un problema di emulazione. Non avevo impostato correttamente l'emulatore. Per risolvere questo problema, ho dovuto aprire l'Android Virtual Device Manager, modificare l'AVD e aggiungere una scheda SD. Una volta fatto ciò, avvio l'AVD e faccio una foto. Dopo averlo fatto, ha iniziato a funzionare.