天天看點

Android常用代碼之普通及系統權限靜默安裝APK

本文主要介紹程式如何安裝apk,包括普通模式安裝和系統權限靜默安裝。

1、普通模式安裝,調用系統Intent,代碼如下:

Java

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、靜默安裝

分為如下三步

(1)、靜默安裝需要系統應用安裝權限,需要在AndroidManifest.xml中添加

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

(2)、實作代碼

靜默安裝代碼如下,實際是通過pm install -r 指令安裝。

注意:該函數最好在建立的線程中運作并通過handler發送安裝結果給主線程,否則安裝時間較長會導緻ANR。

靜默安裝實作

(3) 、擷取系統權限

完成了上面兩步後,普通方式安裝我們的應用仍然無法靜默安裝。需要我們的應用獲得系統權限,編譯應用并通過

adb push <your_apk_path> /system/app/

指令實作安裝,即可擁有系統權限。

繼續閱讀