JPS*_*JPS 5 android bluetooth-lowenergy android-6.0-marshmallow
我已经编写了一个扫描蓝牙智能设备的应用程序,您可以从列表中选择一个,然后连接到该设备并交换一些数据。一切顺利,直到Android 6.0。
首先,我修复了新的权限系统,以便该应用在运行时请求位置权限,以便能够扫描设备。有了该应用程序,它就可以像以前那样工作了,但是在关闭蓝牙并再次打开后,该应用程序将不再连接,但始终会在gatt回调中返回状态为133的断开连接状态。
然后,我尝试了几件事:
这一切都没有解决问题。我能够使其再次正常工作的唯一方法是从“备份和重置”菜单中选择“网络设置重置”。此处提供的两款开发手机(Moto G3和Samsung S6)均具有此选项,在Android 6.0之前尚未见过。
我的问题是:是否还有其他人遇到此问题,并且是否有解决方法或解决方法?这可能会引起很多麻烦,因此关闭/打开蓝牙很常见,并且在进入飞行模式后该问题也会出现。
好吧,过了一会儿我解决了这个问题。我正在使用 NRF ble 设备,无法连接,但仍然能够连接到 TIsensorTag 设备。
设备的通告之间存在一些差异,未为 NRF 设备启用某些标志,并且 NRF 设备未设置设备名称。更改此设置后,我能够再次连接。结果发现 devicename 必须启用但可以留空。
在 Android 6.0 BLE 堆栈中,与设备的连接方式似乎发生了变化,如果在蓝牙关闭并再次打开后未使用正确的广告设置,则设备将无法再连接。
| 归档时间: |
|
| 查看次数: |
3680 次 |
| 最近记录: |