BluetoothGattCallback在“startService”中似乎没有响应

时间:2016-05-31 03:20:09

标签: android bluetooth bluetooth-lowenergy

我正在制作一个BLE应用程序,我按照here中的示例进行了操作但是我希望在后台接收可用数据,即使App已关闭,所以我将“bindService”更改为“startService”以启动我的ble服务

然而,我发现在初始化之后&连接设备,回调没有响应,这意味着即使连接状态发生变化或gatt发现,它也不会在回调中调用该函数。我在here找到了类似的帖子,但似乎没有人为他提供解决方案。

我该如何解决这个问题?为什么回调的工作原理是调用“bindService”来启动服务,而不是通过调用“startService”来启动服务?

我的服务代码是here 感谢

1 个答案:

答案 0 :(得分:0)

确保你在主线程上调用connectGatt(),因为有些手机需要这个才能使回调工作。

另外要注意的是,在某些手机上,在connectGatt()返回gatt对象之前,gatt回调可以在另一个线程上触发。