安卓蓝牙 PBAP

Posted

技术标签:

【中文标题】安卓蓝牙 PBAP【英文标题】:Android Bluetooth PBAP 【发布时间】:2010-09-02 17:08:04 【问题描述】:

我将尝试简要介绍一下我正在做的事情,以及 然后提出我的问题...任何帮助将不胜感激!

我一直在尝试按顺序将 android 设备连接到其他手机 使用电话簿通过蓝牙导入他们的电话簿信息 访问配置文件。为了实现这一点,我试图将我的设备作为 PCE, 而另一部手机将充当 PSE。

我知道 PSE 角色已经在 Android 上实现了,所以我 查看它的代码并试图以某种方式对其进行逆向工程 实现另一边。

所以..我的问题是:创建服务器套接字时,它没有 指定任何 UUID,它只是开始侦听端口 19,如下所示:

mServerSocket = mAdapter.listenUsingRfcommOn(PORT_NUM);

不是应该在某处注册 PBAP 服务吗?如何 其他设备发现服务,更重要的是,哪个 UUID 尝试连接我的 PCE 设备时应该使用:

mSocket = mDevice.createRfcommSocketToServiceRecord(UUID_PBAP);

谢谢,佩德罗。

【问题讨论】:

您是否能够制作 PBAP 客户端?如果是,您能否指导我在建立 PBAP 连接后如何获取电话簿详细信息?这是我目前能做的***.com/questions/23948610/… 【参考方案1】:

你应该使用 uuid 创建一个客户端套接字,sdp 会为你找到对应的通道。

你不必关心频道号,你分配的频道并不总是正确的。

【讨论】:

问题是关于如何注册服务器端 (PBAP PSE) 以及客户端如何在没有看似正确的服务器端注册的情况下使用 SDP 进行发现。这个答案只是说使用 SDP,但没有解释它为什么以及如何工作。这个问题也可以更清楚地解释 SDP 查询的结果——它有效吗?或不?如果它起作用了,那么可能 UUID-RFCOMM 通道正在某个地方注册。【参考方案2】:

请使用此方法:listenUsingRfcommWithServiceRecord of BluetoothAdapter with right UUID。

【讨论】:

以上是关于安卓蓝牙 PBAP的主要内容,如果未能解决你的问题,请参考以下文章

蓝牙pbap协议源码解析

[RK3568][Android11]蓝牙通讯协议PhoneBookAccessProfile(PBAP)同步通讯录

[RK3568][Android11]蓝牙通讯协议PhoneBookAccessProfile(PBAP)同步通讯录

除了 6 个配置文件(HFP、PBAP、A2DP、AVRCP、PAN、HID)之外,iOS 中是不是有任何受支持的蓝牙配置文件?

安卓怎样连接两个蓝牙?

安卓系统 蓝牙 与车载蓝牙的连接