3

我能够下载一个 apk 文件并将其存储在我的 /data/data/com.android.myApp/anotherApp.apk 中。我想知道是否有一种方法可以从另一个应用程序安装此文件。我目前正在使用:

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

这是我的清单文件:

当我运行这个。它给了我“解析错误:解析包时出现问题”。我不知道问题是什么?1)我需要将应用程序存储在SD卡中吗?我不想那样做 2)权限问题?3) 正在安装损坏的软件包?

4

3 回答 3

2

您需要在前面filepath加上file://

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + filepath), "application/vnd.android.package-archive"); startActivity(intent);
于 2013-03-21T18:40:51.030 回答
1

通常,当您在应用程序沙箱上保存文件时,它们会保存在“文件”文件夹下。所以你的完整路径应该是:

/data/data/com.android.myApp/files/anotherApp.apk 

如果您正在使用模拟器,则可以执行 adb shell ls 来确认文件是否确实存在:

adb shell "ls /data/data/com.android.myApp/files"
于 2011-06-02T20:19:06.153 回答
1

试试这个朋友...

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(path+"/yourapp.apk")), application/vnd.android.package-archive");
startActivity(intent);
于 2015-04-23T12:36:35.840 回答