2

通話中に使用されるサービスがあり、Bluetooth ヘッドセットが接続されているかどうかを確認しようとしています。しかし、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() は問題なく動作します!?!

Bluetooth デバイスが接続され、本来の用途と同じように使用できます。だから、どんな助けも素晴らしいでしょう。

4

2 に答える 2

0

A2DP ではなく isBluetoothScoOn() をチェックしたい

A2DP は、主に音楽やゲーム、高品質のオーディオ用です。高度なオーディオ配信プロファイル。

于 2012-06-07T19:52:04.943 に答える