【BUG系列】Android 7.0调用系统拍照崩溃,exposed beyond app through ClipData Item ge

如果本文帮助到你,本人不胜荣幸,如果浪费了你的时间,本人深感抱歉。 希望用最简单的大白话来帮助那些像我一样的人。如果有什么错误,请一定指出,以免误导大家、也误导我。 本文来自:https://lylyl.cn/ 感谢您的关注。

报错信息:
FATAL EXCEPTION: main
Process: com.yishu, PID: 5323
android.os.FileUriExposedException: file:///storage/emulated/0/image/1510308272335.jpg exposed beyond app through ClipData.Item.getUri()
android.os.StrictMode.onFileUriExposed(StrictMode.java:1816) 
android.net.Uri.checkFileUriExposed(Uri.java:2350)
android.content.ClipData.prepareToLeaveProcess(ClipData.java:832)
android.content.Intent.prepareToLeaveProcess(Intent.java:9054)
android.content.Intent.prepareToLeaveProcess(Intent.java:9039)
android.app.Instrumentation.execStartActivity(Instrumentation.java:1530)
android.app.Activity.startActivityForResult(Activity.java:4391)
android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
android.app.Activity.startActivityForResult(Activity.java:4335)
android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
解决办法:

在onCreate中调用如下代码:

/**
 * 解决7.0系统拍照崩溃问题
 */
private void initPhotoError(){
    StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
    StrictMode.setVmPolicy(builder.build());
    builder.detectFileUriExposure();
}
0评论