我将尝试简要介绍一下我正在做的事情,并且 然后提出我的问题......非常感谢任何帮助!
我一直在尝试按顺序将Android设备连接到其他手机 使用电话簿通过蓝牙导入电话簿信息 访问档案。为实现这一目标,我试图将我的设备作为PCE, 而另一部手机将充当PSE。
我知道PSE角色已在Android上实现,所以我就是 调查它的代码,并试图以某种方式逆向工程 实施另一方。
所以..我的问题是:当创建服务器套接字时,它不会 指定任何UUID,它只是开始侦听端口19,如下所示:
mServerSocket = mAdapter.listenUsingRfcommOn(PORT_NUM);
是不是应该在某处注册PBAP服务?如何 其他设备发现服务,更重要的是,哪个UUID 我尝试使用以下方法连接PCE设备时应该使用
mSocket = mDevice.createRfcommSocketToServiceRecord(UUID_PBAP);
谢谢,佩德罗。
答案 0 :(得分:1)
你应该使用uuid创建一个客户端套接字,sdp会为你找到一个交叉通道。
您无需关心频道编号,并且您分配的频道并不总是正确的。
答案 1 :(得分:0)
请使用此方法:使用正确的UUID,使用BluetoothAdapter的listenUsingRfcommWithServiceRecord。