2012-06-20 42 views
0

我想在沒有用戶干預的情況下在Android上安裝應用程序。我正在使用權限INSTALL_PACKAGES,並且正在將該應用程序安裝到「/ download /」文件夾中。下載完成後,會出現一個對話框,要求我安裝該應用程序。如何隱藏此對話框並安裝應用程序而無需用戶干預?android:安裝應用程序,無需用戶干預

回答

3

對不起,你不能。 Android框架不允許你這樣做。 Android有一些限制安全目的,不要試圖打破它。

+0

好的。謝謝.. –

0

INSTALL_PACKAGES權限只允許安裝在/ system/app中的系統應用程序。

對於其他應用程序,這是不可能的。

0

您可以通過反射使用隱藏API android.content.pm.IPackageInstallObserver:

public class PackageManagement { 
public static final int INSTALL_REPLACE_EXISTING = 0x00000002; 
public static final int INSTALL_SUCCEEDED = 1; 

private static Method installPackageMethod; 
private static Method deletePackageMethod; 


static { 
    try { 
     installPackageMethod = PackageManager.class.getMethod("installPackage", Uri.class, IPackageInstallObserver.class, Integer.TYPE, String.class); 
    } catch (NoSuchMethodException e) { 
     e.printStackTrace(); 
    } 
} 


public static void installPackage(PackageManager pm, Uri mPackageUri, IPackageInstallObserver observer, int installFlags, String installerPackageName) { 
    try { 
     installPackageMethod.invoke(pm, mPackageUri, observer, installFlags, installerPackageName); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

}

導入android.content.pm.IPackageInstallObserver到項目中。 你的應用必須是系統。 您必須激活清單中的權限android.permission.INSTALL_PACKAGES

相關問題