关于H5+实现APP检查自动更新与 调用 plus.runtime.install 弹出不了安装界面问题
手机主流通用远程更新 APP思路
- 对比当前APP与服务器上的json的版本号
- app调用 downloader 下载远程APP
- app调用 runtime.insatll 安装远程APP
可能会遇到的细节问题:
- 下载APP时需要挂在后台下载,不影响当前用户操作,APP下载完成自动弹出安装
- 安装新的APP时,需要把当前运行的APP进行 runtime.quit
- 如果用户下载完没安装,下次检查更新时无需下载,直接安装上次下载完的apk即可
- 安装成功后,自动删除安装包。
调用 plus.runtime.install 弹出不了安装界面问题
参考: https://ask.dcloud.net.cn/article/id-35703__page-9
使用 HbuilderX 离线打包方式,app实现远程下载调用 plus.runtime.install 安装程序时,能显示安装成功,但是弹不出安装界面。
- 将build.gradle中的targetSdkVersion调到26或者更高。
- 在Androidmanifest.xml 的
application子节点
下添加provider节点,将里面的XXXX.XXX.XX改成 build.gradle 里的 applicationId。
<provider
android:name="io.dcloud.common.util.DCloud_FileProvider"
android:authorities="XXXX.XXX.XX(当前的应用包名).dc.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/dcloud_file_provider" />
</provider>
- 在Androidmanifest.xml 根节点中添加权限
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
- 可以在生成离线打包前,配置 manifest.json 权限
-
手机运行第三方程序安装
-
重新编译打包即可弹出安装界面
程序员最高境界:静若瘫痪,动若癫痫