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

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

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


1
如何通过编程更新所有应用程序?
你不能这样做。
我想创建更新管理器。
这是“市场”应用的责任,例如Play Store客户端、Amazon AppStore for Android客户端等。
列出所有更新并向用户提供更新。
你不知道更新是什么,更没有能力实际执行更新。

1

如果您指的是Google Play更新

使用公共SDK无法完成此操作。 Google Play应用程序已经为您处理了这个问题,而且Google没有提供API来连接或控制此行为。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接