设备所有者Android应用程序OTA更新方式是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我能够让我的应用程序,设备所有者的应用程序通过NFC提到这里。现在我想通过无线方式更新我的应用程序,但是我找不到没有生根的方法。

提问于
用户回答回答于

你可以创建一个服务来后台检查更新。如果更新可用的下载apk文件并写在一些像SD卡的地方。等待几秒钟完全刷新。然后调用下面的代码来安装你的新apk:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);

用户回答回答于

你可以尝试为你的设备所有者应用程序设置安装程序包。此安装程序包需要是使用与设备所有者APK相同的证书签名的独立APK。

getPackageManager().setInstallerPackage("<device.owner.package.name>", "<installer.package.name>");

从你的安装程序APK中,你可以使用PackageInstaller以准备更新:

PackageInstaller pi = getPackageManager().getPackageInstaller();
int sessId = pi.createSession(new PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL));
PackageInstaller.Session session = pi.openSession(sessId);
OutputStream out = session.openWrite("app");
// .. write updated APK file to out
session.fsync(out);
session.commit(...);
session.close();

扫码关注云+社区