优化通话记录的同步流程

PBAP同步的通讯录一般包含联系人 + 通话记录,今天我们就来简单聊聊同步通话记录时的相关优化。

通话记录分为 未接来电呼入呼出 这三种类型,每种类型的数据在手机端的存储路径如下图所示:

需要哪种类型的通话记录就使用对应的路径名,因此安卓源码中PBAP的PCE端在pbap连接成功后自动依次同步这三种类型的通话记录

然而实际项目中只是要求同步前N条通话记录过来就行,那这N条通话记录该怎么分配呢?如果每种类型分配 N/3 去同步的话会存在如下两个问题:

  1. 在手机上排在前N条之后的通话记录被同步过来
  2. 手机上某种类型的通话记录不足 N/3 ,则最后同步过来的通话记录总数肯定少于N

出现如上的问题后会导致PCE端的通话记录数据和PSE端前N条不一致,理想的解决方案是使用一条指令将PSE端的前N条通话记录一起同步过来,而PBAP协议也为我们提供了这样的同步路径:CCH_PATH = “telecom/cch.vcf”

使用 CCH_PATH 同步通话记录,PSE端会将CallLog数据一起发送过来,因此需要PCE端做好类型区分工作,查看《PBAP_v1.2.3》协议中3.1.4.1 Call history extension小节中定义了CallLog的时间戳这个属性可以结合三种CallLog类型使用,也就是PSE发送的通话记录的时间戳这个属性中会带有当前这条CallLog的类型

PCE在解析Vcard数据时就可以通过时间戳中带的类型来标志通话记录TYPE并保存到 VCardEntry ,同步完成后蓝牙服务通过CallLogPullRequest. onPullComplete()将数据取出存储到数据库中。VCard的解析流程都在 frameworks\opt\vcard\java\com\android\vcard 下处理的,感兴趣的同学可以研究下或者私信留言一起讨论,共同学习,一起进步!

更多互联互通技术,欢迎关注微信公众号:Connectivity

蓝牙电话之PBAP-优化通话记录的同步相关推荐

  1. 蓝牙 socket 建立不了_蓝牙电话之PBAP同步电话簿的安卓实现

    PBAP同步电话簿的安卓实现 蓝牙电话中同步电话簿基本包含两个流程:同步联系人 + 同步通话记录,那本期我们就简单聊聊安卓系统中蓝牙电话(PCE)的电话簿是如何同步的. 本篇文章参考的安卓源码版本:A ...

  2. 蓝牙电话之PBAP同步电话簿的安卓实现

    PBAP同步电话簿的安卓实现 蓝牙电话中同步电话簿基本包含两个流程:同步联系人 + 同步通话记录,那本期我们就简单聊聊安卓系统中蓝牙电话(PCE)的电话簿是如何同步的. 本篇文章参考的安卓源码版本:A ...

  3. 大数据项目(二)————某电信公司通话记录改造

    1.项目介绍 某互联网公司面向APP应用开发者提供的,以品牌互推.流量互导.广告分账为主的一站式服务平台. 将通话记录数据由原来的oracle系统改造成使用大数据架构解决方案.主要使用hbase做通话 ...

  4. 安全机构称iPhone自动上传通话记录,苹果回应

    如果你是一名iPhone用户,而且使用了iCloud Drive服务,那么在你和朋友通话结束的同时,这份记录也会上传到苹果的服务器,不会有任何提示.俄罗斯安全机构Elcomsoft于本周四发现了苹果i ...

  5. 无需越狱,Android通话记录、通讯录、短信同步到iphone6

    Q:如何将通讯录从Android同步到IOS?? 新换的手机,是个人都喜欢先瞎折腾一番.那么问题来了,怎样将旧手机的信息搬到新手机?这是件让人很最头疼的事.纠结了一番,我还是狠下心来,并且本着爱好技术 ...

  6. 蓝牙电话之PBAP协议的连接

    蓝牙电话之PBAP-连接 前一篇文章<蓝牙电话之PBAP协议分析>大致讲解了PBAP协议的相关内容,本篇我们就开启PBAP连接流程的分析.由于PBAP的连接过程涉及到的知识点较多,有些地方 ...

  7. request获取int类型的值_获取通话记录或通讯录的数量为负值

    安卓源码避坑指南5--获取通话记录或通讯录的数量为负值 通过蓝牙PBAP协议同步通讯录.通话记录时,想必对其数量大小也是很感兴趣的,因此一般的设计思路都是先获取到同步对象的总大小,然后再同步该对象的具 ...

  8. CSipSimple通话记录分组

    为了便于查看通话记录,通常要对通话记录进行分组.本质上来说这没什么难度,只需要用ContentResolver去读数据库,剩下的就是策略问题.代码在com/csipsimple/ui/calllog/ ...

  9. 安卓删除通话记录恢复?如何来恢复

    安卓删除通话记录恢复?如何来恢复?我们有些时候经常的会将我们的手机通话记录给忽略掉,因为我们并不是经常的会使用到我们的手机通话记录,那么当我们删除我们的手机通话记录之后,我们该怎么恢复呢? 其实恢复的 ...

最新文章

  1. 利用OpenCV求取图像的重心
  2. MDT2013折腾记-UDP端口冲突
  3. 凯利公式判定持仓比例
  4. DP专练4:[SCOI 2010]股票交易(单调队列优化dp)
  5. pipeline python,Python-什么是sklearn.pipeline.Pipeline?
  6. RebatesMe:返利网站DDOS防护
  7. 论无线网络中的网络与信息安全技术
  8. Flutter StreamBuilder 实现局部刷新 Widget
  9. python安装失败0x80070570_win7系统固态硬盘装系统出现错误代码0x80070570的解决方法...
  10. Linux实验室 CentOS关机大法
  11. 如何定时备份远程mysql数据库
  12. 黑客常备十大编程语言,每一个都不容易学,但每一个又很有用
  13. HCIE面试真题战报及点评系列12
  14. 中控 人脸指纹 iface702 二次开发 (X86 X64 SDK,VB,C#Demo)
  15. ☆【平衡二叉树】魔兽争霸
  16. 百兆和千兆直通线与交叉线的制作方法
  17. 铁矿石大幅反弹,棉花认购大涨2倍,YP09继续探底2022.4.28
  18. HTML 小练习(智联注册页)
  19. 设计一个有利于A股东的配股方案
  20. 吉时利Keithley软件2600系列2601B|2602B|2604B|2606B NS-SourceMeter源表软件

热门文章

  1. foxmail企业邮件服务器,如何用foxmail连接企业邮箱?
  2. zbb20181214 js,html 点击页面出现游走文字 富强 民主 民主
  3. 多种支付渠道路由方案有哪些?
  4. ue4 物品随机生成
  5. 微信小程序点播插件_微信小程序 视频 组件
  6. 众包物流:把每个人变成快递员
  7. Eigen 常用操作
  8. AI检测生物钟,精准医疗或成最大“受惠者”
  9. 信息收集——善用搜索引擎
  10. 【迁移攻击笔记】数据集の变化→提高迁移率!Improving Transferability of Adversarial Examples with Input Diversity