我正在學習如何使用藍牙與android,我註冊了BroadCastReceiver
爲BluetoothAdapter.ACTION_STATE_CHANGED
。 在文檔中,它說如何從意圖使用額外
廣播動作:本地藍牙適配器的狀態已更改。 例如,藍牙已打開或關閉。 總是包含分別包含新狀態和舊狀態的額外字段EXTRA_STATE和EXTRA_PREVIOUS_STATE
。
現在,我該如何使用EXTRA_STATE和EXTRA_PREVIOUS_STATE?
我正在學習如何使用藍牙與android,我註冊了BroadCastReceiver
爲BluetoothAdapter.ACTION_STATE_CHANGED
。 在文檔中,它說如何從意圖使用額外
廣播動作:本地藍牙適配器的狀態已更改。 例如,藍牙已打開或關閉。 總是包含分別包含新狀態和舊狀態的額外字段EXTRA_STATE和EXTRA_PREVIOUS_STATE
。
現在,我該如何使用EXTRA_STATE和EXTRA_PREVIOUS_STATE?
從here:
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
BluetoothAdapter.ERROR);
switch (state) {
case BluetoothAdapter.STATE_OFF:
//Bluetooth off
break;
case BluetoothAdapter.STATE_TURNING_OFF:
//Turning Bluetooth off...
break;
case BluetoothAdapter.STATE_ON:
//Bluetooth on
break;
case BluetoothAdapter.STATE_TURNING_ON:
//Turning Bluetooth on...
break;
}
}
}
};
你的回答很有幫助,但在我的情況下,我註冊了許多動作差不多7個動作,你是否認爲對於我希望聽的每一個動作,在所有廣播接收機或廣播接收機上使用廣播接收機更好? – rmaik
在大多數情況下,一個BroadcastReceiver就是你想要的。如果這解決了您的問題,請務必將其標記爲答案。 – Templerschaf
[示例隱含意圖](http://developer.android.com/guide/components/intents-filters.html#ExampleSend) – Onik