2

我有一项在通话期间使用的服务,我正在尝试确定是否连接了蓝牙耳机。但是当我使用 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() 工作得很好!?!

蓝牙设备已连接,我可以像使用它一样使用它。所以任何帮助都会很棒。

4

2 回答 2

0

你想检查 isBluetoothScoOn() 而不是 A2DP

A2DP主要用于音乐和游戏,高品质的音频。高级音频分发配置文件。

于 2012-06-07T19:52:04.943 回答
0

如果您没有 android.permission.MODIFY_AUDIO_SETTINGS

我建议检查 isBluetoothA2dpOn() 是否需要相同的权限

于 2013-05-29T17:09:59.363 回答