android-image-picker icon indicating copy to clipboard operation
android-image-picker copied to clipboard

Leftover File on Certain Camera App Caused by Unable to Remove the File -- SecurityException

Open wilinz opened this issue 4 years ago • 1 comments

Steps to Reproduce the Problem

After entering the camera, I did not take a picture and exited. At this time, it saved a gray picture, which is not what I need.

Specifications

  • Image Picker Version: 3.0.0-beta1
  • Android OS: Android
  • Phone: pixel 3 api 29

wilinz avatar Aug 07 '21 10:08 wilinz

This should handled by CameraModule.removeImage in here but in newer OS it got a SecurityException

19:15:17.859  E  Writing exception to parcel
                 java.lang.SecurityException: com.esafirm.imagepicker.sample has no access to content://media/external_primary/images/media/1000000043
                 	at com.android.providers.media.MediaProvider.enforceCallingPermissionInternal(MediaProvider.java:10043)
                 	at com.android.providers.media.MediaProvider.enforceCallingPermission(MediaProvider.java:9940)
                 	at com.android.providers.media.MediaProvider.deleteInternal(MediaProvider.java:5941)
                 	at com.android.providers.media.MediaProvider.delete(MediaProvider.java:5830)
                 	at android.content.ContentProvider$Transport.delete(ContentProvider.java:443)
                 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:215)
                 	at android.os.Binder.execTransactInternal(Binder.java:1280)
                 	at android.os.Binder.execTransact(Binder.java:1244)
19:15:17.863  E  Can't delete cancelled uri
19:15:17.863  W  java.lang.SecurityException: com.esafirm.imagepicker.sample has no access to content://media/external_primary/images/media/1000000043
19:15:17.863  W  	at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
19:15:17.863  W  	at android.os.Parcel.createException(Parcel.java:2995)
19:15:17.863  W  	at android.os.Parcel.readException(Parcel.java:2978)
19:15:17.863  W  	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
19:15:17.863  W  	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
19:15:17.863  W  	at android.content.ContentProviderProxy.delete(ContentProviderNative.java:629)
19:15:17.863  W  	at android.content.ContentResolver.delete(ContentResolver.java:2333)
19:15:17.863  W  	at android.content.ContentResolver.delete(ContentResolver.java:2299)
19:15:17.863  W  	at com.esafirm.imagepicker.features.camera.DefaultCameraModule.removeImage(DefaultCameraModule.kt:137)
19:15:17.863  W  	at com.esafirm.imagepicker.features.ImagePickerActivity.onActivityResult(ImagePickerActivity.kt:154)
19:15:17.863  W  	at android.app.Activity.dispatchActivityResult(Activity.java:8628)
19:15:17.863  W  	at android.app.ActivityThread.deliverResults(ActivityThread.java:5316)
19:15:17.863  W  	at android.app.ActivityThread.handleSendResult(ActivityThread.java:5362)
19:15:17.863  W  	at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67)
19:15:17.863  W  	at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
19:15:17.863  W  	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
19:15:17.863  W  	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
19:15:17.863  W  	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
19:15:17.863  W  	at android.os.Handler.dispatchMessage(Handler.java:106)
19:15:17.863  W  	at android.os.Looper.loopOnce(Looper.java:201)
19:15:17.863  W  	at android.os.Looper.loop(Looper.java:288)
19:15:17.863  W  	at android.app.ActivityThread.main(ActivityThread.java:7872)
19:15:17.863  W  	at java.lang.reflect.Method.invoke(Native Method)
19:15:17.863  W  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
19:15:17.863  W  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

esafirm avatar Nov 20 '22 05:11 esafirm