紧接着带你解锁蓝牙skill(一)继续分析
Pbap:Phone Book Access Profile是说共享联系人协议,具体定义可参考上一篇。 其实说白了就是一个手机可以从另一个手机中导系人信息。 其中包括两个角色
Android源码在7.0以前只支持作为PSE即作为提供数据的一方。但是各芯片提供商可能会自己增加一个蓝牙协议用于支持读取数据。
现在用两个手机做测试机进行测试
首先看一下Pbap是怎么用的。
首先要说明一点:Pbap不是说在通讯录中通过蓝牙分享联系人,因为在分享联系人时是将联系人先导出到一个一个文件,然后把文件分享出去,归根结底还是分享文件,走的是Opp协议。如下图所示,当对方在分享一个联系人信息时,会先将联系人打包到一个vcf文件中,并通过文件分享的方式传送过来
那么Pbap是什么呢??
在通讯录–>菜单中,会有导入/导出选项,针对Pbap的两种角色来进行分析。
1>,如果你的手机只支持PSE角色不支持PCE,即只支持外界读取本机的联系人,不支持读取外界联系人的话—–测试机S ,那么显示选项如下
联系人的来源只有一个,那就是从存储设备中导入。(因为没有安装sim卡的缘故) 其实导入来源应该是有两个
2>,但如果你的手机既支持PSE角色有支持PCE角色的话—–测试机S&C,那么导系人时的选项如下
可以看到对于联系人的导入可以通过三种
相对于上一种情况,这种条件下多了一个从其他手机导入的支持。 接下来就可以从其他设备导入通讯录了
选择通过蓝牙方式导系人后,会提示
在从其他设备导系人时有两个要求,
这两个条件是为了让S&C设备可以实现和C设备的配对。配对成功后,在C设备上会有一个读取联系人权限的问题
权限声明如下: 设备想要访问您的联系人信息和通话记录。要向设备授予访问权限吗? 点击同意之后,C设备上的联系人信息便会同步到S&C设备上。C设备上的联系人会成为S&C设备上联系人的一部分。所获取到的信息包括联系人信息和通话记录。
当然,因为我的测试机是S&C和C,所以以上就是按这种情况考虑的。具体情况基本可以类推。
举个例子来帮助你理解Pbap的含义。 比如现在有3个桶A,B,C,其中桶C是空的。桶A和桶B有水,而且桶B无限大(哈哈,搞笑嘛,谁不会,哈哈哈)。 接下来桶A主动将桶A的水的一部分(某个联系人)倒入到桶C中(打包成一个vcf文件),然后送给桶B(这种情况就是C设备通过蓝牙分享的方式将联系人分享至S&C设备),此时蓝牙分享联系人过程已经结束,在桶B这里需要自己把桶C中的水倒进来(即S&C设备获取到了一个vcf文件)。这种情况并不是属于Pbap的情况 但如果桶B说我要获取A的所有水(导系人),也就是说桶A是被动提供水的,此时就是S&C设备通过蓝牙导系人,那么A中的所有水会直接倒入C中(所有联系人打包到一个vcf文件),并且,此时还没结束,桶C中的水紧接着会倒入B中与B融为一体,至此,通过蓝牙导系人的过程才结束。
写了那么多,该歇一歇了
哇噻,有彩虹噢~~~
Android中的音频协议包括两大类
先来说一下媒体音频相关—A2dp,A2dp是说音频分发协议,分为两个角色
再来看看手机音频—-Headset,与A2dp类似,同样分为两个角色
有话要说...