报错日志:
crash: android.os.FileUriExposedException: file:///android_asset/XXX.html exposed beyond app through Intent.getData()
场景:
我在 asset 目录下内置了两个 html 文件,并通过 webView 加载 A.html,再从 A.html 中通过 <a href=""> 超链接的形式跳转到 B.html,就会发生 crash ,报错信息如上。
原因:
这个错误只在 android 7.0 的机子上出现,其他更高 Android 版本的手机都不会出现这个问题。百度也很容易查到是文件权限的问题,但是我试了很多百度回来的方法都不奏效,所以这里提供一个比较另类的思路。
解决:
不使用超链接的形式,通过在 html 文件内 jscript 与原生页面交互,打开一个新的 Activity 来加载 B.html 文件。