JBA*_*JBA 5 android nfc google-play android-5.0-lollipop device-owner
使用Lollipop时,我有一个设备所有者应用程序,该设备所有者应用程序在供应时随NFC一起安装。
我现在需要的是处理我的App的自动更新,从Google Play依靠标准的Android App更新系统...
到目前为止,我可以想象完成此任务的2种方法,但是不知道如何处理它们:
我很高兴听到有人能分享有关此类程序的经验。谢谢阅读!
1-在NFC设置中,我用snep://my.app.packagename替换了apk网址,但是没有运气;它只是给出了一个错误而没有太多解释。
2-我用一个PlayStore链接替换了该网址:https : //play.google.com/store/apps/details? id = my.app.packagename, 但是无论我使用本地计算的校验和还是它都会产生校验和错误。 GooglePlay apk详细信息中提供的校验和。它看起来离目标不远,但我无法使其实现。
3-终于我回到了第一个解决方案,一个自托管的apk版本1 ...但是这次,我尝试将PlayPack的应用程序2更新版本,其包名完全相同...这导致我奇怪的事情:
这是一种奇怪的行为吗?如果有人对此有想法,我真的需要能够依赖Play商店的功能,但到目前为止还算不上运气,而且我不敢相信Device-Owner应用分发版与PlayStore不兼容?
以防万一,这里仅供参考,这是我正在使用的那种配置代码:
try {
Properties p = new Properties();
p.setProperty(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
"my.app.packagename");
p.setProperty(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION,
"http://www.example.com/myDeviceOwnerApp.apk");
p.setProperty(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
"U55o3fO0cXQtUoQCbQEO9c_gKrs");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStream out = new ObjectOutputStream(bos);
p.store(out, "");
final byte[] bytes = bos.toByteArray();
NdefMessage msg = new NdefMessage(NdefRecord.createMime(
DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC, bytes));
return msg;
} catch (Exception e) {
throw new RuntimeException(e);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |