jkwiecien / EasyImage

Library for picking pictures from gallery or camera
1.77k stars 302 forks source link

android.os.FileUriExposedException exposed beyond app through ClipData.Item.getUri() on Android Pie #157

Open mihirsane opened 6 years ago

mihirsane commented 6 years ago

08-31 11:01:09.853 30827-30827/? E/AndroidRuntime: FATAL EXCE android.os.FileUriExposedException: file:///storage/emulated/0/DCIM/IMG_5861731168317567585.jpg exposed beyond app through ClipData.Item.getUri() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978) at android.net.Uri.checkFileUriExposed(Uri.java:2371) at android.content.ClipData.prepareToLeaveProcess(ClipData.java:963) at android.content.Intent.prepareToLeaveProcess(Intent.java:10216) at android.content.Intent.prepareToLeaveProcess(Intent.java:10201) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1667) at android.app.Activity.startActivityForResult(Activity.java:4586) at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:68) at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:233) at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:830) at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:939) at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:1021) at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:1010) at me.nereo.multi_image_selector.MultiImageSelectorFragment.showCameraAction(MultiImageSelectorFragment.java:321) at me.nereo.multi_image_selector.MultiImageSelectorFragment.access$400(MultiImageSelectorFragment.java:56) at me.nereo.multi_image_selector.MultiImageSelectorFragment$2.onItemClick(MultiImageSelectorFragment.java:162) at android.widget.AdapterView.performItemClick(AdapterView.java:318) at android.widget.AbsListView.performItemClick(AbsListView.java:1159) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136) at android.widget.AbsListView$3.run(AbsListView.java:4052) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 08-31 11:01:09.860 30827-30827/? E/UncaughtException: android.os.FileUriExposedException: file:///storage/emulated/0/DCIM/IMG_5861731168317567585.jpg exposed beyond app through ClipData.Item.getUri() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978) at android.net.Uri.checkFileUriExposed(Uri.java:2371) at android.content.ClipData.prepareToLeaveProcess(ClipData.java:963) at android.content.Intent.prepareToLeaveProcess(Intent.java:10216) at android.content.Intent.prepareToLeaveProcess(Intent.java:10201) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1667) at android.app.Activity.startActivityForResult(Activity.java:4586) at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:68) at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:233) at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:830) at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:939) at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:1021) at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:1010) at me.nereo.multi_image_selector.MultiImageSelectorFragment.showCameraAction(MultiImageSelectorFragment.java:321) at me.nereo.multi_image_selector.MultiImageSelectorFragment.access$400(MultiImageSelectorFragment.java:56) at me.nereo.multi_image_selector.MultiImageSelectorFragment$2.onItemClick(MultiImageSelectorFragment.java:162) at android.widget.AdapterView.performItemClick(AdapterView.java:318) at android.widget.AbsListView.performItemClick(AbsListView.java:1159) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136) at android.widget.AbsListView$3.run(AbsListView.java:4052) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

rafalzawadzki commented 5 years ago

This is not a problem with the library, but with the way you create your intent. Please read this: https://stackoverflow.com/questions/38200282/android-os-fileuriexposedexception-file-storage-emulated-0-test-txt-exposed