我正在制作一个BLE应用程序,我按照here中的示例进行了操作但是我希望在后台接收可用数据,即使App已关闭,所以我将“bindService”更改为“startService”以启动我的ble服务
然而,我发现在初始化之后&连接设备,回调没有响应,这意味着即使连接状态发生变化或gatt发现,它也不会在回调中调用该函数。我在here找到了类似的帖子,但似乎没有人为他提供解决方案。
我该如何解决这个问题?为什么回调的工作原理是调用“bindService”来启动服务,而不是通过调用“startService”来启动服务?
我的服务代码是here 感谢
答案 0 :(得分:0)
确保你在主线程上调用connectGatt(),因为有些手机需要这个才能使回调工作。
另外要注意的是,在某些手机上,在connectGatt()返回gatt对象之前,gatt回调可以在另一个线程上触发。