本文主要介紹程式如何安裝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/
指令實作安裝,即可擁有系統權限。