Android应用内安装apk包
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包相关推荐
- Android使用adb有线跟无线安装apk包
有线的情况下 1.手机USB与电脑相连,win+r打开输入cmd命令 2.adb devices查看是否已连接设备 3.adb install 包(地址)安装apk包 也可以通过adb install ...
- Appium基础篇3-第一个appium自动化脚本之自动安装apk包到手机
这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台安卓手机中.在写脚本之前,我们需要统一下方法和工具.我们知道Appium和selenium一样都支持Java和P ...
- android app安装,Android App更新安装APK
原标题:Android App更新安装APK 概要 一般地, Android App 都会被要求在App内进行软件更新提示, 让用户下载apk文件, 然后更新安装新版本, 一般过程如下: 检测是否有新 ...
- 如何在Android模拟器中安装APK文件?
我终于设法混淆了我的Android应用程序,现在我想通过安装APK文件并在模拟器上运行来测试它. 如何在Android模拟器上安装APK文件? #1楼 从浏览器下载apk文件,然后点击它(通知区域). ...
- appium自动化脚本之自动安装apk包到手机
Appium基础篇3-第一个appium自动化脚本之自动安装apk包到手机 这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台安卓手机中.在写脚本之前,我们需要统 ...
- adb命令 (安装apk包格式:adb install 电脑上apk地址包名)
1.adb基础命令 配置好环境变量后,在cmd窗口打开命令行,敲adb device,验证adb连接设备成功 (前置条件:adb环境配置成功.开发者选项开启了USB调试模式) 1.1.进入手机的设置- ...
- Android模拟器Genymotion安装apk
一.下载apk 选择你需要安装的apk进行下载,下载完以后放在与adb.exe同一目录下: 看我的 二.安装apk遇到的问题 开启Genymotion模拟器,然后cmd到你的platform-tool ...
- android手机如何安装apk文件,如何安装APK文件到自己的android手机里?.doc
如何安装APK文件到自己的android手机里? 很多朋友刚拿到G1的时候大概首先就是要往里面装软件了,在ANDROID平台下安装文件的后缀名为".apk",就好像PC上的安装文件 ...
- 如何在android模拟器中安装apk软件
这个是我从别的网站上看到的,而且亲身试验了,是可以的,和大家分享一下! 如何在模拟器上安装apk软件 首先我们需要的是在电脑上安装Android系统的模拟器. 安装模拟器,需要需要下载Android ...
最新文章
- TensorFlow创建tensor语句
- hdu 5280(最大子串和变形,dp)
- Java黑皮书课后题第5章:*5.1(统计正数和负数的个数然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个、负数有多少个,然后计算输入值的总和和平均值(不记0,浮点表示)
- excel一些操作技巧
- CSS中盒子模型、嵌套盒子中垂直外边距塌陷问题解决方案、标准盒模型、怪异盒模型
- 用户注册与登陆(验证和数据库)
- C/C++笔试题(基础题)
- Arturia Jup-8 V4 for Mac(旗舰合成器)
- java异常处理-小白学习中
- 前端播放m3u8格式视频
- ElasticSearch学习笔记十七 文档更新及版本控制
- python数据可视化代码示例
- 【YOLOv3从头训练 数据篇】
- luogu P4881 hby与tkw的基情
- AVR单片机开发3——定时器T0 查询方式
- Deep Learning(深度学习)资料汇总
- 失业在家做什么赚钱好?失业在家怎么赚钱?
- 专防诈骗 法国新型信用卡密码随时变
- 物联网风口,四大科技巨头争相布局,创业公司还有哪些机会?
- 测试相机的软件叫什么,我们测试了6款自拍软件,B612竟然只排第二?