zoukankan      html  css  js  c++  java
  • 关于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. 重新编译打包即可弹出安装界面

  • 相关阅读:
    C#RSA的研究,C#、Java互通
    .NetCore接入Log4Net
    asp.net core 5.0 使用log4net
    C# 根据出生年月 计算天数/计算X岁X月X天字符串
    DateTime? 转对象出错的问题
    WPF新的窗口返回值的方式
    C# Post
    数据库跨服务器更新表内容
    sql server 初学乱记
    sql server 2008/k3 cloud 安装踩雷
  • 原文地址:https://www.cnblogs.com/demonxian3/p/13632871.html
Copyright © 2011-2022 走看看