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. 重新编译打包即可弹出安装界面

  • 相关阅读:
    CentOS 安装 nginx 教程
    CentOS 安装 NETCore 教程
    Bootstrap Blazor 组件介绍 Table (三)列数据格式功能介绍
    Net Core 一个简单的封装,缓存表达式树去生成反射的调用
    c#缩放图片
    .net5创建sqlite数据库文件
    使用C#处理图片
    Python enumerate()函数
    在R语言中,使用类似Python原生字符串的方式处理路径
    利用BAT脚本生成空文件夹
  • 原文地址:https://www.cnblogs.com/demonxian3/p/13632871.html
Copyright © 2011-2022 走看看