0
我開始爲BT設備連接/斷開連接註冊廣播接收器的服務。它似乎工作得很好。雖然,我遇到了一個問題。我需要檢測BT耳機是否已連接,以便了解當前狀態。我用下面的代碼,但它看起來像它不會做的工作:如何在開始服務時檢測BT耳機/耳機
// ...
// get BluetoothAdapter
BluetoothAdapter ba = BluetoothAdapter.getDefaultAdapter();
// to tell if BT headset is connected
boolean isBtHeadsetOn = false;
// if device supports BT
if (ba != null) {
// get list of paired devices
Set<BluetoothDevice> devices = ba.getBondedDevices();
if (devices != null) {
// loop through devices
for (BluetoothDevice device : devices) {
// get device class
BluetoothClass bc = device.getBluetoothClass();
if (bc == null) continue;
int devClass = bc.getDeviceClass();
// check if device is handsfree, headphones or headset
if (devClass == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE || devClass == BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES || devClass == BluetoothClass.Device.AUDIO_VIDEO_WEARABLE_HEADSET) {
// yes, it is
isBtHeadsetOn = true;
break;
}
}
}
}
// now I got my result in variable isBtHeadsetOn
// ...
我開發的Android 2.1及以上代碼放置在服務#的onCreate()。 感謝您的幫助。
對於android 2.2或更高版本有一個工作。否則,你運氣不好。 – 2013-03-01 05:24:53