BLE:无法从BluetoothGattCallback更改onConnectionStateChange上的视图

时间:2019-10-09 22:06:30

标签: android bluetooth-lowenergy

我想在HM-10(BLE)模块和android应用之间进行通信。 启动应用程序后,将启动ble连接,并打开一个对话框,其中显示了当前的连接状态。

在我的BluetoothGattCallback中,正确触发了onConnectionStateChange,但是当我尝试更新对话框中的状态(图像和文本视图)时,什么也没发生。吐司也不出现。

我正在这样打开连接(从主线程中,而不是在服务中或其他任何东西中):

    public void connect(Context context, BluetoothCallback callback) {
        gatt = device.connectGatt(context, false, callback);
    }

onConnectionStateChange回调是否仍在其他线程上运行?希望有人可以帮助我。

谢谢。

1 个答案:

答案 0 :(得分:0)

是的,默认情况下,蓝牙回调是从Binder线程发送的。不允许您通过Binder线程修改UI。