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

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

android:name="android.support.v4.content.FileProvider"

android:authorities="${applicationId}.file_provider"

android:exported="false"

android:grantUriPermissions="true">

android:name="android.support.FILE_PROVIDER_PATHS"

android:resource="@xml/file_paths" />

将apk文件下载到此路径:

String cachePath = (

getExternalFilesDir("upgrade_apk") +

File.separator +

getPackageName() +

".apk");

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

最后编写代码,区分不同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);

}

}

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

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

android 7 apk 安装程序,Android安装apk文件并适配Android 7.0详解相关推荐

  1. android apk安装过程,Android安装apk文件并适配Android 7.0详解

    Android安装apk文件并适配Android 7.0详解 首先在AndroidManifest.xml文件,activity同级节点注册provider: android:name="a ...

  2. 无法安装 计算机缺失,还原安装程序Windows缺失的文件 - Windows Client | Microsoft Docs...

    缺少Windows安装程序缓存需要重新构建计算机 10/21/2020 本文内容 本文讨论如何还原安装程序缓存Windows缺失的文件. 适用于:  Windows 10 - 所有版本,Windows ...

  3. 解决安装ubuntu时,出现安装程序向硬盘复制文件时遇到的错误

    问题描述: 使用U盘安装ubuntu系统时,出现 安装程序向硬盘复制文件时遇到错误: [Errno 5] Input/output error 此个别错误往往由有缺陷的CD/DVD光盘或CD/DVD驱 ...

  4. 计算机无法启动安装程序,win7电脑无法安装程序或安装的程序不能运行怎么办...

    win7电脑无法安装程序或安装的程序不能运行怎么办?在计算机的操作.运行中,难免遇到应用程序无法安装或者无法正常启动运行的问题,这对我们使用计算机带来了很大的不便,而各种不同的程序不能正常运行,又不可 ...

  5. 安装程序向硬盘复制文件是遇到错误:[Errno 5] Input/out error ;U盘安装Ubuntu18.04.1遇到错误

    U盘安装Ubuntu18.04.1遇到错误: 安装程序向硬盘复制文件是遇到错误:[Errno 5] Input/out error : 这通常是由于CD/DVD盘片或者驱动器有问题,或者硬盘错误造成的 ...

  6. 用inno setup做的安装程序,安装过程中被360报如下风险

    用inno setup做的安装程序,安装过程中被360报如下风险,请问大家有碰到过没有? 我看了下,好像就是最后生成卸载程序时报出来的,在将setup.tmp拷到unins000.exe时,360认为 ...

  7. office linux 安装程序,如何安装Office2016 64位安装包?只安装3件套!

    本篇文章给大家带来的内容是关于如何安装Office2016 64位安装包,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 64位安装包制作 Office2016的iso安装包2. ...

  8. c#打包安装程序默认安装路径设置

    c#打包安装程序默认安装路径设置

  9. 用 .Net Framework 4.0 制作的安装程序来安装 .Net Framework 4.0 编写的程序

    文章题目看起来有点绕,解释一下,假如你基于框架写了一个程序,想装到客户机上,但是客户机上可能并没有安装框架,因此你的程序需要预先将框架安装在目标机上,然后再执行一些安装程序的标准功能,如创建快捷方式. ...

最新文章

  1. JavaScript对象数组示例
  2. DTrace memory leak 内存泄露
  3. AliOS Things KV组件的写平衡特性
  4. CentOS 5 下yum安装 Mono 2.4
  5. plsql developer 64位版本
  6. IOS调试移动端弹窗遮罩input框focus和click事件失效
  7. 宏锦软件2015年的计划
  8. 通过实验来比较git merge --no-ff 与--ff 和--squash的区别
  9. oracle 自增加列的实现
  10. vscode下载提速方法
  11. 超级搜索术-朱丹-全部笔记整理
  12. 比较好的自媒体平台推荐,揭秘哪个自媒体平台收入最高
  13. html a4纸张大小像素,CSS设定A4纸张大小
  14. 如何将mac中的资料拷贝到U盘,移动硬盘(实用!!!)
  15. 外显子分析思路总结(Exome Sequencing Analysis review)
  16. ChatGPT 类大语言模型为什么会带来“神奇”的涌现能力?
  17. 用Adobe Reader PDF阅读器来验证电子签名有效性
  18. JS安全防护算法与逆向分析——淘宝登录JS加密算法
  19. PPTP 理解以及报文的分析
  20. 学习能力篇:为什么你一定要知道学贵有法和学无定法?

热门文章

  1. 2019 年,C# 还值得学习吗?
  2. 阿里平头哥“生娃”!最强 RISC-V 处理器玄铁 910 诞生!
  3. IoT 打响安防保卫战!
  4. 任正非:鸿蒙不用于手机;IBM 340 亿美元红帽收购案完成;Firefox 68.0 发布 | 极客头条...
  5. 5G 是时候商用了?| 程序员硬核评测
  6. 微信说不!有何不可?
  7. 水逆的 Google,或许应该向百度取个经?
  8. Windows Notepad 居然要迎来大更新了!
  9. 饿了别叫妈,叫阿里“爸爸”!
  10. 12 个月 vs. 1 个月,你的年终奖是多少?