ハンズフリー プロファイルを介して、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 コマンドを送信する適切な方法ですか? 誰かが私を助けて、適切な方向を教えてください。
皆様からのご意見は、私にとって大きな助けになります。
前もって感謝します。