4

A2DP であるかどうかにかかわらず、Bluetooth デバイスが電話に接続されていることをどのように確認できますか?

このチュートリアルでは、Bluetooth 接続をリッスンするための非常にわかりやすいガイドを提供します。

これを使用して、接続されている Bluetooth デバイスが A2DP タイプかどうかを判断したいと考えています。

AudioManagerメソッドisBluetoothA2dpOn()がありますが、A2DPデバイスが接続されているからといって、オーディオがそれを介してルーティングされているという意味ではないため、これがすぐにtrueを返すとは思わない(または、まったく確実に)とは思わない?

接続されているデバイスのタイプに関する情報は、受信したインテントで利用できると思っていましたが (上記のチュートリアルを参照)、これに関するドキュメントが見つかりませんか?

BluetoothClassこのコードで取得できます:

BluetoothClass btClass = intent.getParcelableExtra(BluetoothDevice.EXTRA_CLASS);

しかし、ドキュメントには次のように記載されているため、それがA2DPプロファイルであるかどうかを判断するのには役立ちません。BluetoothClass

BluetoothClass は、デバイスを大まかに説明するためのヒント (たとえば、UI にアイコンを表示するため) として役立ちますが、どの Bluetooth プロファイルまたはサービスがデバイスで実際にサポートされているかを確実に説明するものではありません。createRfcommSocketToServiceRecord(UUID) および listenUsingRfcommWithServiceRecord(String, UUID) を使用して RFCOMM ソケットを作成するときに自動的に実行される SDP 要求によって、正確なサービス検出が行われます。

...これは私にはかなり無意味です。

4

0 に答える 0