android:安装应用程序,无需用户干预

时间:2012-06-20 12:25:30

标签: android install

我想在没有用户干预的情况下在Android上安装应用程序。我正在使用权限INSTALL_PACKAGES,我正在" / download /"中安装应用程序夹。下载完成后,会出现一个对话框,要求我安装该应用程序。如何在没有用户干预的情况下隐藏此对话框并安装应用程序?

3 个答案:

答案 0 :(得分:3)

抱歉,你不能。 Android框架不允许您这样做。 安全目的对Android有一些限制,不要试图打破它。

答案 1 :(得分:0)

INSTALL_PACKAGES权限仅允许安装在/ system / app中的系统应用程序。

对于其他应用程序,这是不可能的。

答案 2 :(得分: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