2

私は他のapk(プリインストールされていない)を呼び出したいアプリケーションを作成していますが、それらは私の電話のsdカードにあり、メインアプリがインストールされたときにインストールしたいと思います。これは可能ですか?そしてどうやって?

4

1 に答える 1

3

次のインテントを使用して、AndroidにAPKのインストールをリクエストできます。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(<path_to_your_file)), "application/vnd.android.package-archive");
startActivity(intent);  

ユーザーはこのインストールプロセスをキャンセルできることに注意してください。また、APKが外部ストレージ上にある場合は、外部ストレージから読み取るためのアクセス許可が必要になります。さらに、サイドローディングを許可するには、デバイスを有効にする必要があります。

セキュリティ上の理由から、ルート化されていないデバイスにGoogle Playが行うように、APKをサイレントにインストールすることはできません。

APKがSDカード上にあると言っても、/assetsディレクトリからのAPKのインストールがサポートされていないことよりも、ここで将来の読者のために言及する価値があります。代わりに、APKを内部ストレージまたは外部ストレージにコピーしてから、必要なパスでインテントを使用する必要があります。

于 2012-11-23T19:15:21.727 に答える