如何以编程方式更新所有应用程序?
我想创建更新管理器。列出要更新的所有更新和优惠。点击后,程序将更新应用程序。
如何在Android设备上更新应用程序?
答案 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必须使用与旧密钥相同的密钥进行签名,并且必须具有相同的包名称。