0

我正在使用 Android 应用程序从硬件蓝牙设备接收蓝牙数据。我已经看过堆栈的所有帖子,并且还使用示例应用程序来设计我的代码。问题是,我的“蓝牙接收器”不工作,每当我从硬件设备发送数据时,它第一次工作但恰好第二次它总是无法接收数据通知。

public class BluetoothDataReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

ConfigClass.bluetoothDataReceive++;
if (ConfigClass.bluetoothDataReceive == 1) {
ConfigClass.showToast(context,
ConfigClass.MSG_RECEIVE_BLUETOOTH_DATA);

}else if (ConfigClass.bluetoothDataReceive ==2) {
ConfigClass.bluetoothDataReceive = 0;

}
}
}

请帮帮我....我长期以来一直在努力解决这个问题。

4

1 回答 1

1

BroadcastReceiver.onReceive() 在与您的 UI 不同的线程中运行。UI 不是线程安全的。在其中执行 Toast() 是一个坏主意,据说会导致意想不到的结果......

于 2012-12-13T00:41:43.210 回答