我将尝试简要介绍一下我正在从事的工作,并且 然后提出我的问题...任何帮助将不胜感激!
我一直在尝试按顺序将 Android 设备连接到其他手机 使用电话簿通过蓝牙导入他们的电话簿信息 访问配置文件。为此,我试图将我的设备设置为 PCE, 而另一部手机将充当 PSE。
我知道 PSE 角色已经在 Android 上实现,所以我 查看它的代码并尝试以某种方式对其进行逆向工程 实现另一方。
所以..我的问题是:创建服务器套接字时,它没有 指定任何 UUID,它只是开始监听端口 19,如下所示:
mServerSocket = mAdapter.listenUsingRfcommOn(PORT_NUM);
不是应该在某处注册 PBAP 服务吗?如何 其他设备发现该服务,更重要的是,哪个 UUID 在我的 PCE 设备中尝试连接时我应该使用:
mSocket = mDevice.createRfcommSocketToServiceRecord(UUID_PBAP);
谢谢,佩德罗。
最佳答案
你应该使用 uuid 创建一个客户端套接字,sdp 会为你找到对应的 channel 。
您不必关心 channel 号,您分配的 channel 在各种情况下并不总是正确的。
关于Android 蓝牙 PBAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3629440/