我正在尝试通过免提配置文件在 Android 设备与其他手机之间建立蓝牙连接。我正在使用以下代码 -
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。
现在我想根据蓝牙免提配置文件发送 AT 命令。例如,如果其他手机接到电话,我的Android设备可以通过发送AT命令- “+CHUP”来拒绝这个电话。我不确定这是否可能。
在这一点上,我被卡住了。我已经阅读了我发现的蓝牙 API -
BluetoothHeadset.ACTION_VENDOR_SPECIFIC_HEADSET_EVENT
我们可以使用这个 Intent 来发送 AT 命令吗?这是基于蓝牙免提配置文件发送 AT 命令的正确方法吗?请有人帮助我并给我正确的方向。
你们的任何意见都会对我有很大的帮助。
提前致谢。