Android常用代码之普通及系统权限静默安装APK
16lz
2021-12-04
http://www.trinea.cn/android/android-install-silent/
本文主要介绍程序如何安装apk,包括普通模式安装和系统权限静默安装。
如果是非系统应用请直接查看:Android常用代码之APK root权限静默安装,查看更完美的解决方案。
1、普通模式安装,调用系统Intent,代码如下:
Java public static void install(Context context, String filePath) { Intent i = new Intent(Intent.ACTION_VIEW); i.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive"); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); }1 2 3 4 5 6 | public static void install ( Context context , String filePath ) { Intent i = new Intent ( Intent . ACTION_VIEW ) ; i . setDataAndType ( Uri . parse ( "file://" + filePath ) , "application/vnd.android.package-archive" ) ; i . addFlags ( Intent . FLAG_ACTIVITY_NEW_TASK ) ; context . startActivity ( i ) ; } |
2、静默安装
如果是非系统应用请移步:Android常用代码之APK root权限静默安装,查看更完美的解决方案。
分为如下三步
(1)、静默安装需要系统应用安装权限,需要在AndroidManifest.xml中添加
1 | < uses - permission android : name = "android.permission.INSTALL_PACKAGES" / > |
(2)、实现代码
静默安装代码如下,实际是通过pm install -r 命令安装。
注意:该函数最好在新建的线程中运行并通过handler发送安装结果给主线程,否则安装时间较长会导致ANR。
返回值0表示安装成功,1表示文件不存在,2表示其他错误。需要更丰富的安装失败信息(内存不足、解析包出错)可直接使用PackageUtils.installSlient。
(3) 、获取系统权限
完成了上面两步后,普通方式安装我们的应用仍然无法静默安装。需要我们的应用获得系统权限,编译应用并通过
adb push
命令实现安装,即可拥有系统权限。
更多相关文章
- Android必备:Android应用程序组成
- Android(安卓)- Android(安卓)Studio 安装 及 设置 [最新]
- 基于 Android(安卓)NDK 的学习之旅-----环境搭建
- Android(安卓)体系结构介绍
- 【Android(安卓)应用开发】Android资源文件 - 使用资源存储字符
- Android--应用开发3(Android(安卓)layout XML属性)
- Android(安卓)—— 第一次安装 Android(安卓)Studio 启动时出现
- android 开发包的离线安装方式
- android 自带的主题 theme 的使用