• Android更新包下载成功后不出现安装界面


    测试机版本: Android 5,  Android 6 ,  Android 9 , Android 10

    问题: 高版本的手机,下载完安装包之后,没有跳转到Android的安装界面,刷新页面,重新进入APP。

    原因: Android7.0以后,增加了未知来源应用的权限,需要在AndroidManifest.xml清单文件中添加权限。

    解决:

    在AndroidManifest.xml文件中添加权限

     <!-- 安装未知来源权限-->
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    安装App代码实现

    public void installAPK(apkPath,apkName) {
     // 假设:apkPath = "/storage/emulated/0/test"
    //       pakName = test.apk
            File apkFile = new File(apkPath, apkName);
            if (!apkFile.exists()){
                return;
            }
            Intent intent = new Intent(Intent.ACTION_VIEW);
    //      安装完成后,启动app
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    
            // Android 版本在7.0以上
            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
                ////Android7.0之后获取uri要用contentProvider
                Uri apkUri = FileProvider.getUriForFile(mContext, "包名.fileprovider", new File(apkFile.toString()));
                //添加这一句表示对目标应用临时授权该Uri所代表的文件
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
            }else {
                Uri uri = Uri.parse("file://" + apkFile.toString());
                intent.setDataAndType(uri, "application/vnd.android.package-archive");
            }
            mContext.startActivity(intent);
        }
  • 相关阅读:
    防火墙透明模式
    HP管理工具System Management Homepage安装配置
    kbmmw 中JSON 中使用SQL 查询
    kbmmw 中JSON 操作入门
    第一个kbmmw for Linux 服务器
    kbmmw 5.02发布
    kbmmw 5.01 发布
    使用delphi 10.2 开发linux 上的Daemon
    使用unidac 在linux 上无驱动直接访问MS SQL SERVER
    使用delphi 10.2 开发linux 上的webservice
  • 原文地址:https://www.cnblogs.com/Ayinger/p/12842434.html
Copyright © 2020-2023  润新知