7
  1. 首先我有一个服务器。我检查服务器是否有任何new apk文件我下载并尝试安装。
  2. 如果服务器有,new version of apk file那么我想更新我的 .apk 文件
  3. 我想在没有用户交互的情况下安装/更新。这可能吗?
  4. 如果需要用户交互,那么我该如何安装/更新 .apk 文件。

我对此没有更多的想法。

 Intent intent = new Intent(Intent.ACTION_VIEW);
             intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "jarviz.apk")), "application/vnd.android.package-archive");
             intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

但这不起作用。当我调试时,我看不到任何错误,但它没有安装。我该怎么做。抱歉英语不好。

4

2 回答 2

5

我以这种方式解决了这个问题。

String vsName=Environment.getExternalStorageDirectory().getAbsolutePath()+"/download/";
File file = new File(vsName, "jarviz.apk");
System.out.println(":"+file);
Intent install=new Intent(Intent.ACTION_VIEW);
install.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(install);
于 2012-09-03T09:30:49.603 回答
0

您的代码几乎是正确的,但您刚刚创建了意图。您还需要触发它以产生任何效果:

startActivity(intent); 

并确保按照您的意图将您的jarviz.apk确实下载到外部存储上的文件夹。download/

于 2012-08-31T14:21:07.497 回答