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