1

私は以前この問題を抱えていましたが、解決策を見つけたので、誰かがそれを必要とする場合に備えて、ここに投稿することにしました。

ネイティブインストーラーアプリを起動してapkをインストールする方法は?

多くの投稿には以下のような解決策があります:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(path), "application/vnd.android.package-archive");
context.startActivity(intent);

これは、小さいながらも重要な詳細を除いて問題ありません。

「パス」文字列はfile://で始まる必要があります。そうでない場合は、次のような例外が発生します。

Unable to find an activity to handle the intent .....

したがって、パスがfile://で始まることを確認してください

乾杯。

4

1 に答える 1

1

実際には、parse(...)メソッドを使用する代わりに、 UriクラスのfromFile(...)メソッドを使用できます(Uriは自動的に"file://"の形式になります)。

したがって:

final File file = new File(path);
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
context.startActivity(intent);
于 2014-02-14T14:29:03.937 に答える