如何获取蓝牙耳机电池电量?

Sah*_*hil 6 android battery bluetooth batterylevel

我正在尝试构建一个应用程序来获取当前连接的蓝牙耳机的电池电量。该应用程序可以在没有内置此功能的手机上使用。
在 stackoverflow 上搜索时,我发现了How to get Bluetooth Headset Battery status in android这个问题。我使用配置文件获取了当前连接的蓝牙耳机BluetoothProfile.HEADSET
但在类型的设备对象中,BluetoothDevice我没有看到任何方法或属性来获取蓝牙耳机的电池电量。
我可以获得设备名称和isAudioConnected

han*_*k15 3

如果问题是关于蓝牙 HFP 功能:HF 指示器功能对于双方来说都是可选的。如果双方都支持,BluetoothHeadset将以BluetoothHeadset.ACTION_HF_INDICATORS_VALUE_CHANGED等于BluetoothHeadset.EXTRA_HF_INDICATORS_IND_ID2(电池电量)和BluetoothHeadset.EXTRA_HF_INDICATORS_IND_VALUE范围 0..100 进行广播。不记得它是在 Android 版本上实现的,您应该检查一下。

此外,还可以使用供应商特定的 HFP AT 命令(尤其是旧式免提设备)或者 BLE 在设备中实现电池电量。