java - 如何通过蓝牙查询远程手机是否支持PBAP?

标签 java android bluetooth uuid android-bluetooth

假设两部安卓手机通过蓝牙配对并建立连接。如何在客户端以编程方式确定远程设备(服务器)是否支持 PBAP 等蓝牙规范?

如果它确实支持它,那么如何以编程方式启动与远程设备的 PBAP session ?

我在网上进行了广泛的搜索,但到目前为止还找不到 API 支持和相同的文档。

编辑

获取远程设备的 UUID 在这里有用吗?如果是,我如何知道它是否支持 PBAP?

更新

我设法连接到远程设备使用:

mBluetoothSocket = mBluetoothDevice.createRfcommSocketToServiceRecord(applicationUUID);
                            btAdapter.cancelDiscovery();
                            mBluetoothSocket.connect();

在哪里

 private UUID applicationUUID = UUID.fromString("0000111E-0000-1000-8000-00805F9B34FB");

免提配置文件模式。不过,是否有任何此类固定 UUID 可用于通过 PBAP 模式进行连接?

更新2

现在我可以使用 UUID 0000112F 与远程设备配对,这是用于 PSE 访问的 UUID。建立连接后,我在远程设备上收到一条消息,询问我是否可以允许远程设备访问通话记录和联系人。我点击是。

最佳答案

我设法连接到远程设备使用:

mBluetoothSocket = mBluetoothDevice.createRfcommSocketToServiceRecord(applicationUUID);
                        btAdapter.cancelDiscovery();
                        mBluetoothSocket.connect();

在哪里

 private UUID applicationUUID = UUID.fromString("0000112F-0000-1000-8000-00805F9B34FB");

我能够使用 UUID 0000112F 与远程设备配对,这是用于 PSE 访问的 UUID。建立连接后,我在远程设备上收到一条消息,询问我是否可以允许客户端访问通话记录和联系人。我点击是。已建立 PBAP 连接。

张贴此内容以供将来遇到此问题的任何人引用:)。

关于java - 如何通过蓝牙查询远程手机是否支持PBAP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23948610/

相关文章:

Java:如何比较两个 int[] 数组中的非重复元素?

Java/Android : getHostName() is always null with InetSocketAddress

java - 在一个 Maven 项目中使用第 3 方 jar 的两个版本(存在代码冲突)

ios - 核心蓝牙无法发现外设

android - 如何解决 Android 中的此 Windows 管理器错误?

java - 较新版本的依赖项是否会覆盖 Maven 项目中的旧版本?

android - dropbox api - 我应该选择哪个保管箱图标?

带有外部 jar 的 Android Proguard

android - 通过 wifi 查看 logcat 结果?

android - Altbeacon 不在 Android 7 上扫描