PBAP协议
使用场景:智能车载中同步联系人等信息
其实,不仅可以同步联系人,还可以同步通话记录等信息。
1.协议概述
协议代码路径:
frameworks\opt\bluetooth\src\android\bluetooth\client\pbap这个包中
Jar包名称,android.bluetooth.client. pbap
所以进行开发时,在mk文件中需要添加这个包,
并且,在AndroidManifest文件中必须导入Obex库,
pbap这个包中文件如下,
使用pbap协议同步联系人/通话记录时的开发流程和其他的协议不一样,并且pbap协议只有客户端,没有服务端. BluetoothPbapClient是其客户端,在此先不看其客户端的方法。
2开发步骤
1) 构造BluetoothPbapClient对象,
2) 调用BluetoothPbapClient对象方法,处理对应的回调消息。
3详细开发过程
3.1构造BluetoothPbapClient
BluetoothPbapClient如何构造呢?源码有2个构造方法,其中一种如下 ,
public BluetoothPbapClient(BluetoothDevice device, Handler handler) {
mClientHandler = handler;
mSessionHandler = new SessionHandler(this);
addSdp();
mSession = new BluetoothPbapSession(device, mSessionHandler);
}
从中可以看到,构造方法有2个参数, device当然是远程蓝牙设备了,这个很容易获取,
另外一个Handler对象,主要用于一些消息的回调,那就先新建一个Handler对象。
所以可以很简单的进行构造,
mPbapClient = new BluetoothPbapClient(device, mPbapHandler);
3.2方法以及回调处理
客户端BluetoothPbapClient的主要方法以及对应的回调消息如下,
方法
回调消息
setPhoneBookFolderRoot
刷选同步条件/
根目录/子目录/父目录
EVENT_SET_PHONE_BOOK_DONE
setPhoneBookFolderUp
setPhoneBookFolderDown
pullPhoneBookSize</