4

APKファイルのURIを渡す以下のコードでAndroidアプリケーションをプログラムでインストールできることはわかっています。APKファイルURIを渡さずにアプリケーションをインストールできますか?たとえば、APKファイルのバイト配列を取得してインストールしますか?

File appFile = new File("application.apk");
Intent installIntent = new Intent(Intent.ACTION_VIEW);
installIntent.setDataAndType(Uri.fromFile(appFile),"application/vnd.android.package-archive");
startActivity(installIntent);
4

1 に答える 1

2

この方法でアプリケーションをインストールする場合、実際にはアプリケーションを直接インストールするわけではありません。インストーラーを起動し、インストールしたいAPKへの参照をインストーラーに渡しますインストーラーはアプリケーションコードの一部ではなく、アプリケーションのプロセスのメモリにアクセスできません。

これを行う唯一の方法は、APKを含むバイト配列がある場合、バイト配列をファイルに書き込んでからインストーラーを起動し、書き込んだファイルを指すURIを渡すことです。インストールが完了したら、ファイルを削除できます(ユーザーの電話にランダムなゴミを残さないようにするため)。

于 2012-10-26T14:06:34.693 に答える