前段时间个人项目里需要加入一个预览word文档的功能,大致流程就是把这个word下载下来,然后用Tencent的X5内核打开。很简单对吧,可是让人头疼的是将这个功能集成至项目后,一直提示预览失败。然而我自己单独写的集成了X5内核的demo确是完美打开,很无语。由于交付在即,于是乎有一个想法:将这个demo作为一个插件app放在项目里,然后在需要用到这个功能的时候安装然后使用。搜索引擎上有很多这样的代码,可是比较凌乱,兼容度差,甚至部分都没有实践过。所以这里总结了一下
应用内安装主要需要注意的有两点:
1. 在Android N 之后的设备对于权限操控比较严格,尤其是数据读取共享这一块,需要借助FileProvider
2. 在Android O 之后的设备对于应用内安装app这个部分做了限制,为了保护用户安全,需要开发者向用户去动态申请
话不多说,上关键代码 :
provider的注册:
<provider
android:authorities="**.provider"
android:name="android.support.v4.content.FileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"