4

アプリから他のアプリをインストールしようとしています。サーバーから .apk をダウンロードし、次のコンテンツでインテントを起動しています

Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);

installIntent.setData(Uri.parse("file:<apk file location>"));
installIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, DOWNLOADED_PACKAGE_NAME);
installIntent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);

startActivityForResult(installIntent, REQUEST_INSTALL); 
  • しかし、パッケージをインストールしようとしているときに、デフォルトのインストーラーを設定することに行き詰まっています。
  • インストール インテントが起動されると、次のプロンプトが表示され、望ましくないインテントを処理するデフォルト アプリケーションを選択するようユーザーに求めます。
  • このプロンプトはユーザーに表示されるべきではありません。
  • 望ましい動作は、Google Play のようにダウンロードが完了したらパッケージのインストールを開始することです。
  • インストール ボタンをクリック --> ダウンロード --> 許可を求める --> インストール。

このプロンプトを回避するにはどうすればよいですか?

この機能は 4.2 からのみ追加されました。

ここに画像の説明を入力

4

1 に答える 1

4

問題が解決しました。

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.PackageInstallerActivity");
于 2014-01-17T20:54:51.037 に答える