我正在尝试运行以下两个Google Sample项目:
1)样本BLE Gatt服务器https://github.com/androidthings/sample-bluetooth-le-gattserver
2)BLE Gatt客户端样本https://github.com/googlesamples/android-BluetoothLeGatt
我正在使用2部手机:
1)三星Galaxy S5
2) Motorola G4 Plus
在添加用于提供BLE和粗略位置访问权限的小代码片段后,这些项目与托管服务器的三星Galaxy S5(即github项目1和运行BLE Gatt客户端的Moto G4 Plus)配合使用。
但是,在反转角色时,即运行客户端的Samsung Galaxy S5
和托管服务器的Moto G4 Plus
,我无法实现成功连接。
我尝试在另一部手机(Moto G5)上运行客户端,但也失败了。
似乎Moto G4 Plus
无法成功连接。
任何人都可以建议为什么会发生这种情况?我需要处理特殊权限吗?
其他资料: 在尝试调试应用程序之后,我发现在有问题的设备上,即Moto G4 Plus,在调用connectGatt之后,调用了BluetoothGattCallback,但是没有调用onConnectionStateChange()。
答案 0 :(得分:0)
似乎重启手机解决了这个问题。
正如我之前报道的那样,Moto G4 Plus正在生成一个BluetoothGattCallback,但在回调中并没有真正执行功能。我花了大约一个星期试图了解这是硬件限制还是许可问题。我甚至多次打开和关闭蓝牙。显然,关闭电话并重新启动解决了所有问题。这可能对可能遇到同样问题的人有用。