1

ユーザーの介入なしで Android にアプリケーションをインストールしたいと考えています。私は許可を使用してINSTALL_PACKAGESおり、「/download/」フォルダーにアプリをインストールしています。ダウンロードが完了すると、アプリのインストールを求めるダイアログ ボックスが表示されます。このダイアログを非表示にして、ユーザーの介入なしにアプリケーションをインストールする方法は?

4

3 に答える 3

4

申し訳ありませんが、できません。Android フレームワークでは、それができません。Android にはSecurity Purposeに関するいくつかの制限があります。それを破ろうとしないでください。

于 2012-06-20T12:28:27.800 に答える
0

INSTALL_PACKAGES権限は、/ system/appにインストールされているシステムアプリにのみ許可されます。

他のアプリケーションでは、それは不可能です。

于 2013-02-17T10:18:33.593 に答える
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 を有効にする必要があります

于 2014-11-27T13:26:45.840 に答える