我正在尝试运行以下两个Google示例项目:
1)示例BLE关贸总协定服务器https://github.com/androidthings/sample-bluetooth-le-gattserver
2)示例BLE关贸总协定客户端https://github.com/googlesamples/android-BluetoothLeGatt
我用的是两部手机:
1) 三星Galaxy S5
2) 摩托罗拉G4 Plus
在添加了用于提供BLE和粗位置访问权限的代码片段之后,这些项目与承载服务器的三星Galaxy S5 (即github项目1)和运行BLE客户端的Moto G4 Plus一起工作。
但是,在逆转角色(即运行客户端的Samsung Galaxy S5和承载服务器的Moto G4 Plus )时,我无法实现成功的连接。
我试着在另一部手机( Moto G5)上运行客户端,结果也失败了。
Moto G4 Plus似乎无法成功地连接。
有人能告诉我为什么会发生这种事吗?有什么特殊的权限需要我处理吗?
附加信息:在尝试调试应用程序之后,我发现在有问题的设备(即Moto G4 Plus )上,在调用connectGatt之后,调用了BluetoothGattCallback,但没有调用onConnectionStateChange()。
发布于 2018-03-01 06:00:34
重新启动手机似乎解决了这个问题。
正如我之前所报告的,Moto G4 Plus正在生成一个BluetoothGattCallback,但实际上并没有在回调中执行函数。我花了大约一周的时间来了解这是硬件限制还是权限问题。我甚至开过几次蓝牙,关了好几次。显然,关掉手机并重新启动解决了所有问题。对于可能面临同样问题的人来说,这可能是有用的。
https://stackoverflow.com/questions/49024906
复制相似问题