> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 执行蓝牙 PBAP 客户端功能

> 您可以使用 ``obexctl`` 主菜单中提供的命令验证蓝牙 PBAP 客户端功能。蓝牙 PBAP 客户端功能包括连接远程设备和选择电话簿对象。使用 PBAP 客户端功能，您可以拉取整个电话簿、检索电话簿大小以及搜索特定联系人。

## 前提条件

开始之前，请按照 <a href="verify-pbap-functions#set-up-the-device-for-bluetooth-pbap-functions" target="_self">为蓝牙 PBAP 功能设置设备</a> 中的说明设置设备。

## 连接远程设备

要在 PBAP 中连接远程设备，请在 `obexctl` 菜单中运行以下命令：

```text theme={null}
connect <bt_address> <profile_name>
```

**参数**

* `<bt_address>` 是远程设备的蓝牙地址。

* `<profile_name>` 为 `pbap`。

**示例**

要连接 `<bt_address>` 为 `F8:7D:76:9D:9B:6B` 的远程设备，请运行以下命令：

```text theme={null}
connect F8:7D:76:9D:9B:6B pbap
```

**示例输出**

```text theme={null}
[obex]# connect F8:7D:76:9D:9B:6B pbap
Attempting to connect to F8:7D:76:9D:9B:6B
[NEW] Session /org/bluez/obex/client/session1 [default]
[NEW] PhonebookAccess /org/bluez/obex/client/session1
Connection successful
[F8:7D:76:9D:9B:6B]#
```

## 选择电话簿对象

要选择电话簿对象，请在 `obexctl` 菜单中运行以下命令：

```text theme={null}
cd <phonebook_object>
```

**参数**

`<phonebook_object>` 可以是：

* `pb`：电话簿。

* `ich`：来电历史。

* `och`：去电历史。

* `mch`：未接来电历史。

* `cch`：来电、去电和未接来电的历史记录。

* `spd`：快速拨号联系人。

* `fav`：收藏联系人。

**示例**

要选择整个电话簿，请在 `obexctl` 菜单中运行以下命令：

```text theme={null}
cd pb
```

**示例输出**

```text theme={null}
[F8:7D:76:9D:9B:6B]# cd pb
Attempting to Select to pb
Select successful
[F8:7D:76:9D:9B:6B]#
```

## 拉取电话簿

要拉取电话簿，请执行以下操作：

1. <a href="#connect-the-remote-device" target="_self">连接 DUT 和远程设备。</a>

2. <a href="#select-a-phone-book-object" target="_self">选择目标电话簿。</a>

3. 运行以下命令拉取目标电话簿：

   ```text theme={null}
   cp <source file> <destination file>
   ```

   文件存储在根目录或 `/var/bluetooth/` 目录。

   **参数**

   * `<source file>` 是您要拉取的电话簿。

   * `<destination file>` 是电话簿要拉取到的文件。

   **示例**

   要将 `*.vcf` 拉取到 `contact.vcf`，请运行以下命令：

   ```text theme={null}
   cp *.vcf contact.vcf
   ```

   **示例输出**

   ```text theme={null}
   [F8:7D:76:9D:9B:6B]# cp *. vcf contact.vcf
   Attempting to PullAll
   [NEW] Transfer /org/bluez/obex/client/session2/transfer22
   PullAll successful
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Status: active
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 23976 (@23KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 79920 (@55KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 130536 (@50KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 175824 (@45KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 229184 (@53KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 281052 (@51KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 336330 (@55KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 382284 (@45KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 478188 (095KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 615384 (@137KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 691974 (@76KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 740592 (@48KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 786546 (@45KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 829836 (@43KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 877122 (047KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 925074 (047KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 972360 (@47KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 1082250 (@109KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 1206126 (@123KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 1337328 (@131KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Transferred: 1347984 (@10KB/s)
   [CHG] Transfer /org/bluez/obex/client/session2/transfer22 Status: complete
   [DEL] Transfer /org/bluez/obex/client/session2/transfer22
   [F8:7D:76:9D:9B:6B]#
   ```

4. 打开并验证电话簿。

## 获取电话簿大小

要获取电话簿的大小，请执行以下操作：

1. <a href="#connect-the-remote-device" target="_self">连接 DUT 和远程设备。</a>

2. <a href="#select-a-phone-book-object" target="_self">选择目标电话簿。</a>

3. 运行以下命令获取目标电话簿的大小：

   ```text theme={null}
   ls -l
   ```

   **示例输出**

   ```text theme={null}
   Attempting to GetSize
            [NEW] Transfer /org/bluez/obex/client/session1/transfer4
            [CHG] Transfer /org/bluez/obex/client/session1/transfer4 Status: complete
                  Size: 0x0006
            Attempting to List
            [DEL] Transfer /org/bluez/obex/client/session1/transfer4
            [NEW] Transfer /org/bluez/obex/client/session1/transfer5
            [CHG] Transfer /org/bluez/obex/client/session1/transfer5 Status: complete
            0.vcf: MyContact1
            1.vcf: MyContact2
            2.vcf: MyContact3
            3.vcf: MyContact4
            4.vcf: MyContact5
            5.vcf: MyContact6
         [DEL] Transfer /org/bluez/obex/client/session1/transfer5
   ```

## 搜索联系人

要按姓名或号码搜索联系人，请执行以下操作：

1. <a href="#connect-the-remote-device" target="_self">连接 DUT 和远程设备。</a>

2. <a href="#select-a-phone-book-object" target="_self">选择目标电话簿。</a>

3. 运行以下命令搜索联系人：

   ```text theme={null}
   ls <name_or_number>
   ```

   将显示联系人文件。

   **参数**

   `<name_or_number>` 是联系人的姓名或号码。

   **示例**

   要在电话簿中搜索名为 `BT` 的联系人，请运行以下命令：

   ```text theme={null}
   ls BT
   ```

   **示例输出**

   ```text theme={null}
   # ls BT
         Attempting to Search
      [NEW] Transfer /org/bluez/obex/client/session1/transfer7
      [CHG] Transfer /org/bluez/obex/client/session1/transfer7 Status: complete
         4.vcf: MyContact5
      [DEL] Transfer /org/bluez/obex/client/session1/transfer7
   ```
