在安卓5.0通过NFC激活设备所有者时无法连接WiFi

4
Properties p = new Properties();                        
p.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,"com.somepackage.app");
p.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION,"https"//example.com/app/app.apk");
p.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM,"akjlsdghadkq");
p.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SSID, "aaaSSID");
p.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_PASSWORD,"password");
p.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_SECURITY_TYPE, "WPA");
p.setProperty(DevicePolicyManager.EXTRA_PROVISIONING_WIFI_HIDDEN, "false");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStream out;
out = new ObjectOutputStream(bos);
p.store(out, "");
final byte[] bytes = bos.toByteArray();
record = (NdefRecord.createMime("application/com.android.managedprovisioning", bytes));

我已经使用了以上代码处理NFC消息。除了Wifi部分之外,一切都正常。当NFC消息中包含Wifi时,进程会停在“连接Wifi”屏幕上。
当NFC消息中不包含Wifi设置时,会显示可用Wifi网络列表,可以选择任何一个网络。然后,它会从指定的下载地址下载.apk文件,计算校验和,并将其与NFC消息中指定的校验和进行验证。最终激活设备所有者。
问题仅在NFC消息中指定Wifi详细信息时发生。设备所有者配置过程会停在“连接Wifi”处。
当提供错误的Wifi密码时也会出现相同情况。没有任何提示表明密码是错误的。
请帮我解决这个问题!

我也陷入了同样的问题,显然没有人提出任何解决方法。 请查看https://dev59.com/FYjca4cB1Zd3GeqPz6vx#29677130 - Hartok
是的,我也是这样。看起来似乎存在一个 bug。最佳解决方法是避免使用 NFC 进行 Wifi 配置,而是手动设置。 - Florent Dupont
1个回答

2

我们在L MR0 (Android 5.0)版本中也遇到了一些wifi和设备拥有者配置的问题。

然而,在L MR1中,这些问题以及许多其他小错误都已得到修复。所以请尽量使用L MR1(Android 5.1)。在我们这里,它现在可以正常工作。

这些问题主要出现在ManagedProvisioning git中: https://android.googlesource.com/platform/packages/apps/ManagedProvisioning/

(我在索尼移动工作。)


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