9

ハンズフリー プロファイルを介して、Android デバイスと他の携帯電話との間で Bluetooth 接続を確立しようとしています。私は次のコードを使用しています -

private static final UUID MY_UUID = UUID.fromString("0000111F-0000-1000-8000-00805F9B34FB"); // UUID for Hands free profile   

// Some code...

// Get Bluetooth Adapter.
m_oBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

// Some code...

// For paired BT device, getting a connection established.
if(null != m_oBluetoothDevice)
{
    if(BluetoothDevice.BOND_BONDED == m_oBluetoothDevice.getBondState())
    {
        try
        {
            m_oBluetoothSocket = m_oBluetoothDevice.createRfcommSocketToServiceRecord(MY_UUID);     
            m_oBluetoothSocket.connect();

            Log.i(TAG, "Socket Connected");

        }
        catch(Exception e)
        {
            if(null != m_oBluetoothSocket)
            {
                Log.i(TAG, "Closing socket");
                try 
                {
                    m_oBluetoothSocket.close();
                }
                catch (Exception e1) 
                {
                    Log.i(TAG, "Error while closing socket : " + e1.getMessage());
                }
            }
        }               
    }
}

このコードを使用して RFCOMMSocket を作成できます。

今、Bluetooth ハンズフリー プロファイルに基づいて AT コマンドを送信したいと考えています。たとえば、他の携帯電話が電話を受信した場合、私の Android デバイスは、AT コマンド"+CHUP"を送信してこの通話を拒否できます。これが可能かどうかはわかりません。

この時点で、私は立ち往生しています。私が見つけた Bluetooth API を読みました -

     BluetoothHeadset.ACTION_VENDOR_SPECIFIC_HEADSET_EVENT

このインテントを使用して AT コマンドを送信できますか? これは、Bluetooth ハンズフリー プロファイルに基づいて AT コマンドを送信する適切な方法ですか? 誰かが私を助けて、適切な方向を教えてください。

皆様からのご意見は、私にとって大きな助けになります。

前もって感謝します。

4

2 に答える 2

10

電話と通信できるように、InputStream と OutputStream を作成する必要があります。

mmInStream = m_oBluetoothSocket.getInputStream();
mmOutStream = m_oBluetoothSocket.getOutputStream();

送信を開始する HFP 接続をセットアップするには:

mmOutStream.write("AT+BRSF=20\r".getBytes());

20 は、HFP のサポート対象のコードです。

そして電話から読むには:

buffer = new byte[200];
mmInStream.read(buffer);
command = new String(buffer).trim();

これで、デバイス間で話すことができ、https: //www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=238193 でハンズフリー プロファイルの詳細を読むことができます。

于 2013-05-31T09:43:00.097 に答える
1

AT コマンドへの参照の追加

http://forum.xda-developers.com/showthread.php?t=1471241

http://www.zeeman.de/wp-content/uploads/2007/09/ubinetics-at-command-set.pdf

于 2013-09-30T05:05:20.837 に答える