如果我们看一下这个,它会说:
Android一次只支持连接一个蓝牙耳机。
还有的解释getConnectedDevices()
:
返回处于状态的设备集
STATE_CONNECTED
该方法的返回类型是List<BluetoothDevice>
,在我的情况下它返回多个。一款用于 Galaxy Watch,一款用于 Galaxy Buds。
我知道如何判断当前哪个是活跃的。当前正在使用的将在BluetoothHeadset.isAudioConnected()
被调用时返回 true。所以我不是在问如何在这里找到活动的蓝牙耳机设备。我宁愿试图理解STATE_CONNECTED
真正的含义。
我认为这对其他人也很有用,因为有很多类似以下的答案,在某些情况下不会按预期工作:
public static boolean isConnected() {
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
return bluetoothAdapter != null
&& bluetoothAdapter.isEnabled()
&& bluetoothAdapter.getProfileConnectionState(BluetoothProfile.HEADSET) == BluetoothProfile.STATE_CONNECTED;
}
如果您只想检查您的用户是否在打电话,这不是正确的。这是因为用户的蓝牙耳机会STATE_CONNECTED
在蓝牙耳机打开并与智能手机同步后立即变为。
那么,究竟是STATE_CONNECTED
什么?