2012-03-26 85 views
0

我正在開發一個應用程序,它將使用ToggleButton來啓用和禁用藍牙。我設法讓ToggelButton打開和關閉藍牙,但我無法檢查BlueTooth是否打開和關閉。問題是,如果您從其他位置開啓或關閉藍牙,則可以在實際打開時關閉藍牙。這是我到目前爲止的代碼:藍牙ToggleButton沒有檢查狀態

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; 
     } 
    } 

} 

我怎樣才能讓藍牙是開啓和未選中藍牙功能已關閉它進行檢查?

回答

0

你必須註冊以下意圖過濾器的廣播接收機: 「android.bluetooth.intent.action.BLUETOOTH_STATE_CHANGED」。

每當你收到這個廣播,你應該重新檢查實際的藍牙狀態。

結賬Google's PowerWidget implementation

具有適當意圖過濾器的接收器在manifest中註冊。