2013-01-18 85 views

回答

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

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

你不行。

我想创建更新管理器。

这是“市场”的应用程序的责任,如Play商店的客户端,亚马逊AppStore的为Android客户端等

列出所有的更新,并提供给用户更新。

您不知道更新是什么,更不用说有能力实际执行更新。

1

如果你的意思是谷歌播放更新

有没有办法做到这一点使用公共SDK。 Google Play应用程序已经为您处理这个问题,Google并未提供API来挂钩或控制此行为。

如果你的意思是更新到另一边加载应用程序,无论是你的,别人的

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

相关问题