我想在HM-10(BLE)模块和android应用之间进行通信。 启动应用程序后,将启动ble连接,并打开一个对话框,其中显示了当前的连接状态。
在我的BluetoothGattCallback中,正确触发了onConnectionStateChange,但是当我尝试更新对话框中的状态(图像和文本视图)时,什么也没发生。吐司也不出现。
我正在这样打开连接(从主线程中,而不是在服务中或其他任何东西中):
public void connect(Context context, BluetoothCallback callback) {
gatt = device.connectGatt(context, false, callback);
}
onConnectionStateChange回调是否仍在其他线程上运行?希望有人可以帮助我。
谢谢。
答案 0 :(得分:0)
是的,默认情况下,蓝牙回调是从Binder线程发送的。不允许您通过Binder线程修改UI。