如何以编程方式更新所有应用程序

时间:2013-01-18 14:21:22

标签: android

如何以编程方式更新所有应用程序?

我想创建更新管理器。列出要更新的所有更新和优惠。点击后,程序将更新应用程序。

如何在Android设备上更新应用程序?

3 个答案:

答案 0 :(得分:2)

从更新服务器下载文件(可以是任何文件并使用任何合适的协议)。然后用vnd.android.package-archive打开它:

Intent reinstall = new Intent(Intent.ACTION_VIEW);
reinstall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
reinstall.setDataAndType(Uri.fromFile("MyGreatApplication.apk"),
    "application/vnd.android.package-archive");
startActivity(reinstall);

这将启动安装程序。请确保始终使用相同的密钥库和密钥对应用程序进行签名,否则只有在用户手动卸载现有版本时才能覆盖旧应用程序。

答案 1 :(得分:1)

  

如何以编程方式更新所有应用程序?

你不能。

  

我想创建更新管理器。

这是“市场”应用的责任,例如Play商店客户端,适用于Android客户端的Amazon AppStore等。

  

列出要更新的所有更新和优惠。

您不知道更新的内容,更不用说能够实际执行更新了。

答案 2 :(得分:1)

如果您的意思是Google Play更新

使用公共SDK无法做到这一点。 Google Play应用程序已经为您处理此问题,Google尚未提供用于挂钩或控制此行为的API。

如果您的意思是对侧载应用的更新,包括您和其他人

这有点可能。您需要检查设备上要更新的每个应用程序的版本,并在某处提供可以告诉您最新版本的服务器。如果服务器说有更新版本可用,则将新版本的apk下载到设备上的共享存储,然后使用Intent启动安装程序。这不能是静默安装,用户必须手动同意每次更新。此外,更新apk必须使用与旧密钥相同的密钥进行签名,并且必须具有相同的包名称。