[关闭]
@JudyYe 2016-01-15T07:30:06.000000Z 字数 600 阅读 468

Pbap Client的移植 JudyYe

QueenBlue


pbap client可以实现拉取远端的通讯录,并浏览通讯录,进入下一级文件夹,返回上一级文件夹。但是,只pbap client一个协议,没有权限修改通讯录,即不能在本地增添删改联系人后同步到手机上,所幸的是,这也不是车载蓝牙的主要应用场景。
pbap是三个协议中最容易移植的协议。在Android 5.1.1中可以直接找到源码。下面简单讲解移植步骤:

  1. /frameworks/opt/bluetooth/src/android/bluetooth/client/下的pbap文件夹,全部拷入对应位置。
  2. 编译,可能需要修改pbap文件夹下的一些import路径。直到把他们消灭干净后会发现,仍然需要5.1.1中的JNI层obex和VCard,于是将他们也拷贝过来:需要com/android/vcard/javax/obex两个文件夹。
  3. 编译即通过。
  4. 为了方便上层调用,把步骤1,2移植过来的文件打包成pbap.jar,然后拷入工程的/libs/内,在工程中按照普通设置库的方法,引用pbap.jar
  5. 测试,在MainActivity中,尝试连接pbapClient,若能运行,则成功移植。

实际移植过程,本协议不需要修改代码,完全交给上层协议实现PbapClient,移植工作量较小。更多考虑如何方便上层软件调用,于是打包成了.jar的形式,供App调用。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注