蓝牙ToggleButton没有检查状态

时间:2012-03-26 14:49:13

标签: android bluetooth state

我正在开发一个应用程序,它将使用ToggleButton来启用和禁用蓝牙。我设法让ToggelButton打开和关闭BlueTooth,但我无法检查BlueTooth是否打开和关闭。问题是,如果您从其他位置打开或关闭蓝牙,您可以在实际想要打开蓝牙时关闭蓝牙。到目前为止,这是我的代码:

public void onClick(View v) {
    BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); 
    if(adapter != null) {
        if(adapter.getState() == BluetoothAdapter.STATE_ON) {
            adapter.disable();
        } else if (adapter.getState() == BluetoothAdapter.STATE_OFF){
            adapter.enable();
        } else {
            //State.INTERMEDIATE_STATE;
        } 
    }

}

如何在蓝牙开启时检查并在蓝牙关闭时取消选中?

1 个答案:

答案 0 :(得分:0)

您必须使用以下intent过滤器注册广播接收器: “的 android.bluetooth.intent.action.BLUETOOTH_STATE_CHANGED ”。

每当您收到此广播时,您应该重新检查实际的蓝牙状态。

查看Google's PowerWidget implementation

具有适当意图过滤器的接收器已在manifest中注册。