gpt4 book ai didi

android - 如何在 android 中基于 BT 免提配置文件发送 AT 命令?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:45 24 4
gpt4 key购买 nike

我正在尝试通过免提配置文件在 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 命令的正确方法吗?请有人帮助我并给我正确的方向。

你们的任何意见都会对我有很大帮助。

提前致谢。

最佳答案

您需要创建 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 上阅读有关免提配置文件的更多信息

关于android - 如何在 android 中基于 BT 免提配置文件发送 AT 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16610811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com