11

我正在尝试将我的 Android 手机用作免提套件(例如用于汽车的套件),以便连接到另一部手机(任何手机)并执行一些免提功能,例如(接听来电、拒绝等)可以使用 AT 命令进行免提配置文件。为此,我使用了著名的蓝牙聊天应用程序,并且反射工作以建立与任何设备的连接:

方法 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
} 

此代码是使用蓝牙的正确方法,应该替换您正在使用的代码。

于 2012-07-18T10:46:52.497 回答