我正在尝试安装一个存在于内部/外部存储中的 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
一种解决方案是将文件复制到 SDCARD,然后安装它。但是,在 SDCARD 不可用的情况下,此技巧将不起作用。
对这些人有帮助吗?如果 SDCARD 不可用,如何在内部存储目录中安装 apk?