Android 蓝牙 PBAP

标签 android bluetooth profile

我将尝试简要介绍一下我正在从事的工作,并且 然后提出我的问题...任何帮助将不胜感激!

我一直在尝试按顺序将 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/

相关文章:

android - 打开特定应用覆盖权限设置(Android 11)

java - 火星 eclipse 。 Java Spring - 用于构建环境的 Maven 配置文件切换

c - 如何优化这段代码?

java - Android OCR 原生库

java - JSONObject 中的 JSONObject

android - 将蓝牙设备安全连接到 Android

c# - 如何使用 DeviceInformation.FindAllAsync 枚举 Windows Phone 可见的所有 BLE 设备?

ios - 如何使用 GCDAsyncUdpSocket 通过 wifi 和蓝牙进行多播

python - source ~/.profile 命令抛出奇怪的错误

android - 将自定义微调器库从 Java 转换为与 Kotlin 一起使用。监听器的问题