參考這個:https://www.jianshu.com/p/71f635c77d56
還是用
file:///
同時會報錯以下錯誤:
FATAL EXCEPTION: main
Process: com.yishu, PID: 5323
android.os.FileUriExposedException: file:///storage/emulated/0/image/test.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)
解決辦法:
添加如下代碼:
/**
* 解決7.0崩潰問題
*/
private void resolveError(){
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure();
}