Android Nougat 7.0(24)适配
1 应用间共享文件
1.1 升级安装失败
用户在收到提示更新并且下载完后,会自动打开安装页面让用户来去安装。这时就会出现安装错误的问题。
java.lang.RuntimeException: Unable to start service xxx with Intent { cmp=xxx (has extras) }:
android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/package/cache/test.apk exposed beyond app through Intent.getData()
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3910)
at android.app.ActivityThread.access$1700(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7050)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Caused by: android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/package/cache/test.apk exposed beyond app through Intent.getData()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978)
at android.net.Uri.checkFileUriExposed(Uri.java:2371)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10936)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10887)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1667)
at android.app.ContextImpl.startActivity(ContextImpl.java:979)
at android.app.ContextImpl.startActivity(ContextImpl.java:950)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:384)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3891)
... 8 more
android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/package/cache/test.apk exposed beyond app through Intent.getData()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978)
at android.net.Uri.checkFileUriExposed(Uri.java:2371)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10936)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10887)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1667)
at android.app.ContextImpl.startActivity(ContextImpl.java:979)
at android.app.ContextImpl.startActivity(ContextImpl.java:950)
at android.content.Co