3

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

我想创建更新管理器。列出所有更新和提供给用户更新。单击后,程序将更新应用程序。

如何更新 android 设备上的应用程序?

4

3 回答 3

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);

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

于 2013-01-18T14:28:07.783 回答
1

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

你不能。

我想创建更新管理器。

这是“市场”应用程序的职责,例如 Play Store 客户端、Amazon AppStore for Android 客户端等。

列出所有更新和提供给用户更新。

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

于 2013-01-18T14:31:00.543 回答
1

如果您指的是 Google Play 更新

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

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

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

于 2013-01-18T14:32:45.883 回答