您的位置:首页 > 移动开发 > Android开发

Android常用代码之普通及系统权限静默安装APK

2014-04-12 16:47 309 查看
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、[b]静默安装[/b]

如果是非系统应用请移步:Android常用代码之APK root权限静默安装,查看更完美的解决方案。

分为如下三步
(1)、静默安装需要系统应用安装权限,需要在AndroidManifest.xml中添加

Java

<uses-permission android:name="android.permission.INSTALL_PACKAGES" />

1

<uses-permission
android:name="android.permission.INSTALL_PACKAGES"
/>

 

(2)、实现代码

静默安装代码如下,实际是通过pm install -r 命令安装。

注意:该函数最好在新建的线程中运行并通过handler发送安装结果给主线程,否则安装时间较长会导致ANR。

静默安装实现

返回值0表示安装成功,1表示文件不存在,2表示其他错误。需要更丰富的安装失败信息(内存不足、解析包出错)可直接使用PackageUtils.installSlient

 

(3) 、获取系统权限

完成了上面两步后,普通方式安装我们的应用仍然无法静默安装。需要我们的应用获得系统权限,编译应用并通过

adb push <your_apk_path> /system/app/

命令实现安装,即可拥有系统权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: