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

方法m = device.getClass()。getMethod(“createRfcommSocket”,new Class [] {int.class});
tmp =(BluetoothSocket)m.invoke(设备,1);

但是,为了实现免提功能并理解我正在发送的AT命令,所连接的电话需要位于使用UUID的免提配置文件中:“0000111f-0000-1000-8000-00805F9B34FB”

因此,有没有办法建立到免提配置文件的连接?

谢谢!

最佳答案

仅当您别无选择时,才应使用此代码。此代码中的1是RFCOMM端口。每个服务都有其自己的RFCOMM端口。此端口通常是1到31之间的随机端口。您需要知道服务(此处为免提配置文件)在要连接到的设备上正在使用哪个端口。您必须使用createRfcommSocketToServiceRecord对象中的BluetoothDevice方法来执行此操作:

try {   clientSocket = bluetoothDevice.createRfcommSocketToServiceRecord( serviceUUID ); }
catch (IOException e)
{
  // handle error
}

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

关于android - 通过免提配置文件在Android和另一部手机之间建立蓝牙连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10134960/

10-10 23:29