// 3.下载成功,开始安装,兼容8.0安装位置来源的权限    public static void installApkO(Activity context, String downloadApkPath) {        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {            //是否有安装位置来源的权限            boolean haveInstallPermission = context.getPackageManager().canRequestPackageInstalls();            if (haveInstallPermission) {//                L.i("8.0手机已经拥有安装未知来源应用的权限,直接安装!");                Utils.installApk(context, downloadApkPath);            } else {                Uri packageUri = Uri.parse("package:" + context.getPackageName());                Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageUri);                context.startActivityForResult(intent, 10086);            }        } else {            Utils.installApk(context, downloadApkPath);        }    }

 

public static void installApk(Context context, String downloadApk) {        Intent intent = new Intent(Intent.ACTION_VIEW);        File file = new File(downloadApk);//        L.i("安装路径=="+downloadApk);        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {            Uri apkUri = FileProvider.getUriForFile(context, BaseApplication.getInstace().getApplication().getPackageName() + ".fileProvider", file);            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);            intent.setDataAndType(apkUri, "application/vnd.android.package-archive");        } else {            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);            Uri uri = Uri.fromFile(file);            intent.setDataAndType(uri, "application/vnd.android.package-archive");        }        context.startActivity(intent);    }

需要配置

    

文件provider_paths.xml

                点击链接加入群聊【编程之美】:https://jq.qq.com/?_wv=1027&k=9qYaAE3t

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. Android自学笔记(番外篇):全面搭建Linux环境(五)——Eclipse Helios(3.
  3. Android获取本机Mac地址和IP地址
  4. Android(安卓)APK安装过程及原理详解
  5. GooglePlay 分包 安装obb
  6. Android(安卓)studio+真机 运行报错[INSTALL_FAILED_INSUFFICIEN
  7. Android——Android(安卓)Studio开发环境搭建及设置本地Gradle方
  8. Android各种访问权限Permission详解
  9. TensorFlow编Android(安卓)so库总结

随机推荐

  1. Working with Images in Google's Androi
  2. android FlexboxLayout可伸缩布局
  3. Android(安卓)studio实现按钮的点击事件
  4. 『ANDROID』Android中的onWindowFocusCha
  5. android取得系统时间
  6. Android(安卓)UI - GridView长按实现拖拽
  7. android 同一个TextView不同文字的点击事
  8. Android模仿Buttonbar
  9. Android(安卓)之 将RAW资源文件写入SD卡
  10. Android登录判断,并且在登录后跳转到相应