udacity / AdvancedAndroid_Emojify

139 stars 453 forks source link

App does not work on Pre-Lolipop devices. Error regarding permissions. #7

Closed Avinash007 closed 7 years ago

Avinash007 commented 7 years ago

I run this code on API 23 and it worked fine. However in API 19, the moment i clicked save button, my gallery app crashed (not the Emojify). On checking the logcat, it shows an error Permission Denial.

Avinash007 commented 7 years ago

Error stacktrace.

05-30 09:40:34.020 8309-8309/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.android.gallery3d, PID: 8309 java.lang.SecurityException: Permission Denial: opening provider android.support.v4.content.FileProvider from ProcessRecord{4223dbe0 8309:com.android.gallery3d/u0a58} (pid=8309, uid=10058) that is not exported from uid 10294 at android.os.Parcel.readException(Parcel.java:1472) at android.os.Parcel.readException(Parcel.java:1426) at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2975) at android.app.ActivityThread.acquireProvider(ActivityThread.java:4653) at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2310) at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1452) at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:931) at android.content.ContentResolver.openOutputStream(ContentResolver.java:694) at android.content.ContentResolver.openOutputStream(ContentResolver.java:670) at com.android.camera.actor.PhotoActor.doAttach(PhotoActor.java:1322) at com.android.camera.actor.PhotoActor.access$600(PhotoActor.java:69) at com.android.camera.actor.PhotoActor$3.onClick(PhotoActor.java:319) at android.view.View.performClick(View.java:4463) at android.view.View$PerformClick.run(View.java:18770) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5333) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) at dalvik.system.NativeStart.main(Native Method)

vishalenrique commented 7 years ago

I have the same problem. Did you find the solution??

Avinash007 commented 7 years ago

Yes. Please follow the stack overflow link. Moreover you can read about this in detail in the Median post.