我正在开发一个设备所有者应用程序,该应用程序在配置时安装在 Lollipop 上,带有 NFC 标签(或来自其他设备的 NFC Beam,两者都经过测试并且工作正常)。
此安装在我的 Nexus 6 上运行良好,我可以测试一些其他可以安装的设备所有者应用程序......但是在 LG Leon 设备(Android 5.0.1 随附)上测试时,NFC 光束失败带有此错误消息:
哎呀!无法设置您的设备。请联系您的 IT 部门。
就像 NdefMessage 格式错误......虽然没有错误,因为它在其他地方运行良好,正如我之前写的:对于其他应用程序来说,这是完全相同的问题......
通过消除问题,我的第一个猜测是该设备(可能还有其他 LG 设备?)...
有人在那些 LG 设备上遇到过这个问题吗?有什么技巧可以让它在那里工作吗?也许他们需要一些特殊的 EXTRA_PROVISIONING_PARAMETER_... 才能工作?
仅供参考,以下是我构建 Ndef 消息的配置代码:
Properties p = new Properties();
p.setProperty(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
"com.myapp");
p.setProperty(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION,
"https://www.dropbox.com/s/dfjlsdfkjlkdf/MyApp.apk?dl=1");
p.setProperty(
DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,
"tn5x7rSwSo6CILlbzBNmkFmfXlk");
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;
我尝试更改下载包位置,http,https,以防万一它需要 https,但没有运气...我还尝试发送 EXTRA_PROVISIONING_LOCAL_TIME 以防万一,但没有更多的运气...我还尝试了 LG 开发人员论坛...没有任何答案!