我能够下载一个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)安装了损坏的软件包?
答案 0 :(得分:2)
您需要在filepath
之前添加file://
:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + filepath), "application/vnd.android.package-archive"); startActivity(intent);
答案 1 :(得分:1)
通常,当您在应用程序沙箱中保存文件时,它们会保存在“files”文件夹下。所以你应该是完整的道路:
/data/data/com.android.myApp/files/anotherApp.apk
如果您正在使用模拟器,则可以执行adb shell ls以确认文件是否确实存在:
adb shell "ls /data/data/com.android.myApp/files"
答案 2 :(得分:1)
试试这个伙伴......
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(path+"/yourapp.apk")), application/vnd.android.package-archive");
startActivity(intent);