11

Androidフォンをハンズフリーキット(自動車用など)として使用して、別の電話(任意の電話)に接続し、ハンズフリー機能(着信に応答する、拒否するなど)を実行しようとしています。ハンズフリープロファイルのATコマンドを使用して実行できます。そのために、私は有名なBluetoothチャットアプリを使用しており、リフレクションは任意のデバイスとの接続を確立するために回避します。

メソッドm=device.getClass()。getMethod( "createRfcommSocket"、new Class [] {int.class}); tmp =(BluetoothSocket)m.invoke(device、1);

ただし、ハンズフリー機能を実現し、送信するATコマンドを理解するには、接続された電話がUUID「0000111f-0000-1000-8000-00805F9B34FB」を使用するハンズフリープロファイル上にある必要があります。

したがって、ハンズフリープロファイルへの接続を実現する方法はありますか?

ありがとう!

4

1 に答える 1

3

他に選択肢がない場合にのみ、このコードを使用してください。この1コードの は RFCOMM ポートです。各サービスには独自の RFCOMM ポートがあります。このポートは通常、1 から 31 の間でランダムです。接続先のデバイスでサービス (ここではハンズフリー プロファイル) が使用しているポートを知る必要があります。これを行うには、オブジェクトのcreateRfcommSocketToServiceRecordメソッドを使用する必要があります。BluetoothDevice

try {   clientSocket = bluetoothDevice.createRfcommSocketToServiceRecord( serviceUUID ); }
catch (IOException e) 
{
  // handle error
} 

このコードは Bluetooth を使用する正しい方法であり、使用しているコードを置き換える必要があります。

于 2012-07-18T10:46:52.497 に答える