我有一个在通话期间使用的服务,我试图找出是否连接了蓝牙耳机。但是当我使用am.isBluetoothA2dpOn()时,总是返回false。在通话期间,而不是在通话过程中,始终!
以下是我正在做的事情的样本:
AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE);
if(am.isBluetoothA2dpOn())
{
Log.v(TAG, "Bluetooth headset is connected!");
}
我还在AndroidManifest.xml中使用以下权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
另外:am.isWiredHeadsetOn()工作正常!?!
蓝牙设备已连接,我可以像使用它一样使用它。所以任何帮助都会很棒。
答案 0 :(得分:0)
您想要检查isBluetoothScoOn()而不是A2DP
A2DP主要用于音乐和游戏,高品质音频。高级音频分发配置文件。
答案 1 :(得分:0)
如果您没有android.permission.MODIFY_AUDIO_SETTINGS
,isWiredHeadsetOn()会导致它返回false(但不会崩溃或引发异常)我建议检查isBluetoothA2dpOn()是否需要相同的权限