内部/外部ストレージにある apk ファイルをインストールしようとしています。これは私のコードです:
final String fileuri = "file://" + absolutePath;
Log.v("FILE_BROWSER", "File to be installed: " + Uri.parse(fileuri).getPath());
final Intent promptInstall = new Intent(Intent.ACTION_VIEW);
promptInstall.setDataAndType(Uri.parse(fileuri), "application/vnd.android.package-archive");
promptInstall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(promptInstall);
ファイルが外部ストレージに存在する場合、apk ファイルは正常にインストールされます。例えば。/mnt/sdcard/MyApp.apk
ただし、apk ファイルが内部ストレージ (例: /data/data/com.myapp/files/MyApp.apk) にある場合、インストールは失敗します。エラーメッセージは次のとおりです。Parse Error: There is a problem parsing the package
1 つの解決策は、ファイルを SDCARD にコピーしてからインストールすることです。ただし、SDCARD が利用できないシナリオでは、このトリックは機能しません。
この人たちの助けはありますか?SDCARD が利用できない場合、内部ストレージ ディレクトリに存在する apk をインストールするにはどうすればよいですか?