1

次の問題があります: 電話の Bluetooth がオンになる前にヘッドセットの電源がオンになると、電話に接続されません。電話のBluetoothがオンで、ヘッドセットが2番目にオンになっている場合にのみ、電話に接続します。ペアリングされたデバイスがリストされているアンドロイドのBluetoothメニューに移動し、ヘッドセットを選択することで、Bluetoothが2番目にオンになっている場合でもヘッドセットに接続できることがわかりました(ただし、ヘッドセットは「接続済み」としてリストされています) . これにより、ヘッドセットと電話も接続されます。

私が今やりたいことは、電話のBluetoothが2番目にオンになっているときに、ヘッドセットに接続する2番目の方法をプログラムで実行することです。Androidバージョン2.0(APIレベル5)を使いたいので、ソケットを試しBluetoothDevice.createRfcommSocketToServiceRecordてみました。connect()しかし、「接続が拒否されました」または「サービスの検出に失敗しました」という例外が常に発生します。私は多くの UUID を使用してきましたが、それらは正しいものであり、ヘッドセットと関係があると思われました。

4

1 に答える 1

3

RFCOMMAPIを呼び出してヘッドセットに接続することはできません。SPPプロファイルに接続するためのもので、ヘッドセットはHS/HFPプロファイルを使用します。RFCOMM APIでも異なるUUIDを使用しても、問題は解決しません。

基本的に、このヘッドセットレベルのプロファイル接続はAndroidによって内部的に行われます(接続を確立するためのアプリケーションレベルのアクセスはありません)アプリケーションは接続の状態のみを取得できます-BluetoothHeadsetクラスを参照してください

現在の動作は正しい推奨動作です。つまり、ヘッドセットを電話に接続する必要があるため、ヘッドセットをオンにする前に電話をオンにする必要があります。優れたユーザーエクスペリエンスと予測可能性のために、両方のデバイスがランダムに相互に接続しようとすると接続されないため、このようにすることをお勧めします。

于 2011-04-19T04:52:04.190 に答える