Android安装apk文件并适配Android 7.0详解

首先在AndroidManifest.xml文件,activity同级节点注册provider:

          

将apk文件下载到此路径:

String cachePath = (            getExternalFilesDir("upgrade_apk") +                File.separator +                getPackageName() +                ".apk");

在res目录xml文件夹下创建名为file_paths的文件:upgrade_apk代表上面保存路径的文件夹名称,可随意更改,相同即可。

<?xml version="1.0" encoding="utf-8"?>  

最后编写代码,区分不同Android系统版本号,安装apk(注意:【com.apkinstall.demo】要替换自己应用的包名)

 /**       * 安装 apk 文件       *       * @param apkFile       */      public void installApk(File apkFile) {        Intent installApkIntent = new Intent();        installApkIntent.setAction(Intent.ACTION_VIEW);        installApkIntent.addCategory(Intent.CATEGORY_DEFAULT);        installApkIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {          installApkIntent.setDataAndType(FileProvider.getUriForFile(getApplicationContext(), "com.apkinstall.demo.file_provider", apkFile), "application/vnd.android.package-archive");          installApkIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);        } else {          installApkIntent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");        }        if (getPackageManager().queryIntentActivities(installApkIntent, 0).size() > 0) {          startActivity(installApkIntent);        }      }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. Android 列表数据写入到本地Excel文件(包括图片)
  2. linux 配置安装android sdk自动下载缺少文件
  3. Android在MTP模式下,只显示指定文件夹
  4. android 使用html5作布局文件: webview跟javascript交互
  5. Android - Manifest 文件 详解
  6. android 下写文件性能测试
  7. Android 命令行编译、打包生成apk文件
  8. Android Studio & ADT 快捷键配置文件所在目录,自定义后可导入导

随机推荐

  1. 为Android内核添加新驱动
  2. ChkBugReport工具 for Android 1
  3. Android之SharedPreferences简介及使用说
  4. 设置Android SDK tools工作路径环境变量
  5. [Android Samples视频系列之ApiDemos] Ap
  6. -Android各版本系统源代码下载
  7. android Http通信(访问web server)
  8. android开发常见问题
  9. 浅析:Android WebView 常见的九个问题
  10. Android中开源库EventBus使用详解