Android应用内安装

    public static void installApk(Activity context, String filePath, int requestCode) {Log.e("TAG", "install apk" + filePath);if (TextUtils.isEmpty(filePath)) {Toast.makeText(context, "安装路径出错", Toast.LENGTH_SHORT).show();return;}File file = new File(filePath);Uri uri = Uri.fromFile(file);if (uri == null) {throw new RuntimeException("安装路径不正确");}if (Build.VERSION.SDK_INT >= 24) {uri = FileProvider.getUriForFile(context, "com.zh.appinfotest.fileprovider", file);}Intent intent = new Intent();if (Build.VERSION.SDK_INT < 14) {intent.setAction(Intent.ACTION_VIEW);intent.setDataAndType(uri, "application/vnd.android.package-archive");} else if (Build.VERSION.SDK_INT < 16) {intent.setAction(Intent.ACTION_INSTALL_PACKAGE);intent.setDataAndType(uri, "application/vnd.android.package-archive");intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);intent.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);} else if (Build.VERSION.SDK_INT < 24) {intent.setAction(Intent.ACTION_INSTALL_PACKAGE);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(uri, "application/vnd.android.package-archive");intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);intent.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);} else {intent.setAction(Intent.ACTION_INSTALL_PACKAGE);intent.setData(uri);intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);intent.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);}try {context.startActivityForResult(intent, requestCode);} catch (Exception e) {Log.e("TAG", e.getMessage());}}

上述代码是封装的安装app的方法。

其中需要注意的地方:

1:定义fileprovider
————————————————

转载于:https://blog.csdn.net/qq_23025319/article/details/119347503

Android应用内安装apk包相关推荐

  1. Android使用adb有线跟无线安装apk包

    有线的情况下 1.手机USB与电脑相连,win+r打开输入cmd命令 2.adb devices查看是否已连接设备 3.adb install 包(地址)安装apk包 也可以通过adb install ...

  2. Appium基础篇3-第一个appium自动化脚本之自动安装apk包到手机

    这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台安卓手机中.在写脚本之前,我们需要统一下方法和工具.我们知道Appium和selenium一样都支持Java和P ...

  3. android app安装,Android App更新安装APK

    原标题:Android App更新安装APK 概要 一般地, Android App 都会被要求在App内进行软件更新提示, 让用户下载apk文件, 然后更新安装新版本, 一般过程如下: 检测是否有新 ...

  4. 如何在Android模拟器中安装APK文件?

    我终于设法混淆了我的Android应用程序,现在我想通过安装APK文件并在模拟器上运行来测试它. 如何在Android模拟器上安装APK文件? #1楼 从浏览器下载apk文件,然后点击它(通知区域). ...

  5. appium自动化脚本之自动安装apk包到手机

    Appium基础篇3-第一个appium自动化脚本之自动安装apk包到手机 这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台安卓手机中.在写脚本之前,我们需要统 ...

  6. adb命令 (安装apk包格式:adb install 电脑上apk地址包名)

    1.adb基础命令 配置好环境变量后,在cmd窗口打开命令行,敲adb device,验证adb连接设备成功 (前置条件:adb环境配置成功.开发者选项开启了USB调试模式) 1.1.进入手机的设置- ...

  7. Android模拟器Genymotion安装apk

    一.下载apk 选择你需要安装的apk进行下载,下载完以后放在与adb.exe同一目录下: 看我的 二.安装apk遇到的问题 开启Genymotion模拟器,然后cmd到你的platform-tool ...

  8. android手机如何安装apk文件,如何安装APK文件到自己的android手机里?.doc

    如何安装APK文件到自己的android手机里? 很多朋友刚拿到G1的时候大概首先就是要往里面装软件了,在ANDROID平台下安装文件的后缀名为".apk",就好像PC上的安装文件 ...

  9. 如何在android模拟器中安装apk软件

    这个是我从别的网站上看到的,而且亲身试验了,是可以的,和大家分享一下! 如何在模拟器上安装apk软件 首先我们需要的是在电脑上安装Android系统的模拟器. 安装模拟器,需要需要下载Android ...

最新文章

  1. TensorFlow创建tensor语句
  2. hdu 5280(最大子串和变形,dp)
  3. Java黑皮书课后题第5章:*5.1(统计正数和负数的个数然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个、负数有多少个,然后计算输入值的总和和平均值(不记0,浮点表示)
  4. excel一些操作技巧
  5. CSS中盒子模型、嵌套盒子中垂直外边距塌陷问题解决方案、标准盒模型、怪异盒模型
  6. 用户注册与登陆(验证和数据库)
  7. C/C++笔试题(基础题)
  8. Arturia Jup-8 V4 for Mac(旗舰合成器)
  9. java异常处理-小白学习中
  10. 前端播放m3u8格式视频
  11. ElasticSearch学习笔记十七 文档更新及版本控制
  12. python数据可视化代码示例
  13. 【YOLOv3从头训练 数据篇】
  14. luogu P4881 hby与tkw的基情
  15. AVR单片机开发3——定时器T0 查询方式
  16. Deep Learning(深度学习)资料汇总
  17. 失业在家做什么赚钱好?失业在家怎么赚钱?
  18. 专防诈骗 法国新型信用卡密码随时变
  19. 物联网风口,四大科技巨头争相布局,创业公司还有哪些机会?
  20. 测试相机的软件叫什么,我们测试了6款自拍软件,B612竟然只排第二?

热门文章

  1. 油溶性InP/ZnS高亮绿光和红光PL490nm-750nm
  2. 使用ftp服务上传文件时553报错的解决(绝对有用)
  3. 轻松实现iMessage群发
  4. Windows7下MATLAB的安装
  5. 汇编idiv带符合除法指令。。。。
  6. 【java学习笔记day01】运行第一个程序Helloworld!
  7. 帆软 大屏BI模板(含报表滚动,图表联动等)下载
  8. 骑士旅行问题(骑士走棋盘)
  9. 理想浪漫主义色彩的句子
  10. 这苦日子B站熬出头了?