我以编程方式从Google云端硬盘下载了一个apk文件。每次我尝试以编程方式安装它时,它只是说“应用程序尚未安装”(我翻译了它)。我比较了原始文件和下载文件的校验和,看看下载的文件是否已损坏,但事实并非如此。
Logcat不会打印任何有关该信息的信息。 这是我尝试安装它的方式:
@Override
public void onUpdateDownloaded(String path) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
答案 0 :(得分:2)
解决了这个问题:我只是想安装一个版本较低的应用,这就带来了问题。
答案 1 :(得分:0)
它可能不适用于Uri.fromFile(new File(path))
。
首先以编程方式将apk文件复制到SD卡,然后
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory()
+ "/yourApplication.apk")), "application/vnd.android.package-archive");
startActivity(intent);