关于H5+实现APP检查自动更新与 调用 plus.runtime.install 弹出不了安装界面问题

手机主流通用远程更新 APP思路

  1. 对比当前APP与服务器上的json的版本号
  2. app调用 downloader 下载远程APP
  3. app调用 runtime.insatll 安装远程APP

可能会遇到的细节问题:

  1. 下载APP时需要挂在后台下载,不影响当前用户操作,APP下载完成自动弹出安装
  2. 安装新的APP时,需要把当前运行的APP进行 runtime.quit
  3. 如果用户下载完没安装,下次检查更新时无需下载,直接安装上次下载完的apk即可
  4. 安装成功后,自动删除安装包。

调用 plus.runtime.install 弹出不了安装界面问题

参考: https://ask.dcloud.net.cn/article/id-35703__page-9

使用 HbuilderX 离线打包方式,app实现远程下载调用 plus.runtime.install 安装程序时,能显示安装成功,但是弹不出安装界面。

  1. 将build.gradle中的targetSdkVersion调到26或者更高。
  2. 在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>  
  1. 在Androidmanifest.xml 根节点中添加权限
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>  

注意: XXXX.XXX.XX 指的是 build.gradle 里的 applicationId 不要和安装的包名混淆了

  1. 可以在生成离线打包前,配置 manifest.json 权限

  1. 手机运行第三方程序安装

  2. 重新编译打包即可弹出安装界面

posted @ 2020-09-08 15:43  Khazix  阅读(5997)  评论(0编辑  收藏  举报