关闭蓝牙然后再次打开后,Android 6.0将不再连接到BLE设备

JPS

我编写了一个可扫描蓝牙智能设备的应用程序,您可以从列表中选择一个,然后连接到该设备并交换一些数据。一切顺利,直到Android 6.0。

首先,我修复了新的权限系统,以便该应用在运行时请求位置权限以能够扫描设备。有了该应用程序,它就可以像以前那样工作了,但是在关闭蓝牙并再次打开后,该应用程序将不再连接,但始终会在gatt回调中返回状态为133的断开连接状态。

然后,我尝试了几件事:

  • 重新启动设备
  • 重新安装该应用
  • 关闭wifi,启用/禁用飞行模式
  • 已通过NRF主控制面板检查,具有相同状态码的相同问题

这一切都没有解决问题。我能够使其再次正常工作的唯一方法是从“备份和重置”菜单中选择“网络设置重置”。此处提供的两款开发手机(Moto G3和Samsung S6)都具有此选项,在Android 6.0之前尚未见过。

我的问题是:是否还有其他人遇到此问题,是否有解决方法或解决方法?这可能会引起很多麻烦,因此关闭/打开蓝牙非常普遍,并且在进入飞行模式后该问题也会出现。

JPS

好的,过了一会儿我解决了。我正在使用NRF ble设备,但无法连接,但仍然可以连接到TI sensorTag设备。

设备的通告之间存在一些差异,NRF设备未启用某些标志,并且NRF设备未设置设备名称。更改此设置后,我可以再次连接。原来,必须启用设备名,但可以将其保留为空。

似乎在Android 6.0 ble堆栈中,与设备的连接方式已发生变化,如果在关闭蓝牙并重新打开蓝牙后未使用正确的广告设置,则该设备将不再可连接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章