蓝牙电话之PBAP-优化通话记录的同步
优化通话记录的同步流程
PBAP同步的通讯录一般包含联系人 + 通话记录,今天我们就来简单聊聊同步通话记录时的相关优化。
通话记录分为 未接来电、呼入、呼出 这三种类型,每种类型的数据在手机端的存储路径如下图所示:
需要哪种类型的通话记录就使用对应的路径名,因此安卓源码中PBAP的PCE端在pbap连接成功后自动依次同步这三种类型的通话记录
然而实际项目中只是要求同步前N条通话记录过来就行,那这N条通话记录该怎么分配呢?如果每种类型分配 N/3 去同步的话会存在如下两个问题:
- 在手机上排在前N条之后的通话记录被同步过来
- 手机上某种类型的通话记录不足 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-优化通话记录的同步相关推荐
- 蓝牙 socket 建立不了_蓝牙电话之PBAP同步电话簿的安卓实现
PBAP同步电话簿的安卓实现 蓝牙电话中同步电话簿基本包含两个流程:同步联系人 + 同步通话记录,那本期我们就简单聊聊安卓系统中蓝牙电话(PCE)的电话簿是如何同步的. 本篇文章参考的安卓源码版本:A ...
- 蓝牙电话之PBAP同步电话簿的安卓实现
PBAP同步电话簿的安卓实现 蓝牙电话中同步电话簿基本包含两个流程:同步联系人 + 同步通话记录,那本期我们就简单聊聊安卓系统中蓝牙电话(PCE)的电话簿是如何同步的. 本篇文章参考的安卓源码版本:A ...
- 大数据项目(二)————某电信公司通话记录改造
1.项目介绍 某互联网公司面向APP应用开发者提供的,以品牌互推.流量互导.广告分账为主的一站式服务平台. 将通话记录数据由原来的oracle系统改造成使用大数据架构解决方案.主要使用hbase做通话 ...
- 安全机构称iPhone自动上传通话记录,苹果回应
如果你是一名iPhone用户,而且使用了iCloud Drive服务,那么在你和朋友通话结束的同时,这份记录也会上传到苹果的服务器,不会有任何提示.俄罗斯安全机构Elcomsoft于本周四发现了苹果i ...
- 无需越狱,Android通话记录、通讯录、短信同步到iphone6
Q:如何将通讯录从Android同步到IOS?? 新换的手机,是个人都喜欢先瞎折腾一番.那么问题来了,怎样将旧手机的信息搬到新手机?这是件让人很最头疼的事.纠结了一番,我还是狠下心来,并且本着爱好技术 ...
- 蓝牙电话之PBAP协议的连接
蓝牙电话之PBAP-连接 前一篇文章<蓝牙电话之PBAP协议分析>大致讲解了PBAP协议的相关内容,本篇我们就开启PBAP连接流程的分析.由于PBAP的连接过程涉及到的知识点较多,有些地方 ...
- request获取int类型的值_获取通话记录或通讯录的数量为负值
安卓源码避坑指南5--获取通话记录或通讯录的数量为负值 通过蓝牙PBAP协议同步通讯录.通话记录时,想必对其数量大小也是很感兴趣的,因此一般的设计思路都是先获取到同步对象的总大小,然后再同步该对象的具 ...
- CSipSimple通话记录分组
为了便于查看通话记录,通常要对通话记录进行分组.本质上来说这没什么难度,只需要用ContentResolver去读数据库,剩下的就是策略问题.代码在com/csipsimple/ui/calllog/ ...
- 安卓删除通话记录恢复?如何来恢复
安卓删除通话记录恢复?如何来恢复?我们有些时候经常的会将我们的手机通话记录给忽略掉,因为我们并不是经常的会使用到我们的手机通话记录,那么当我们删除我们的手机通话记录之后,我们该怎么恢复呢? 其实恢复的 ...
最新文章
- 利用OpenCV求取图像的重心
- MDT2013折腾记-UDP端口冲突
- 凯利公式判定持仓比例
- DP专练4:[SCOI 2010]股票交易(单调队列优化dp)
- pipeline python,Python-什么是sklearn.pipeline.Pipeline?
- RebatesMe:返利网站DDOS防护
- 论无线网络中的网络与信息安全技术
- Flutter StreamBuilder 实现局部刷新 Widget
- python安装失败0x80070570_win7系统固态硬盘装系统出现错误代码0x80070570的解决方法...
- Linux实验室 CentOS关机大法
- 如何定时备份远程mysql数据库
- 黑客常备十大编程语言,每一个都不容易学,但每一个又很有用
- HCIE面试真题战报及点评系列12
- 中控 人脸指纹 iface702 二次开发 (X86 X64 SDK,VB,C#Demo)
- ☆【平衡二叉树】魔兽争霸
- 百兆和千兆直通线与交叉线的制作方法
- 铁矿石大幅反弹,棉花认购大涨2倍,YP09继续探底2022.4.28
- HTML 小练习(智联注册页)
- 设计一个有利于A股东的配股方案
- 吉时利Keithley软件2600系列2601B|2602B|2604B|2606B NS-SourceMeter源表软件
热门文章
- foxmail企业邮件服务器,如何用foxmail连接企业邮箱?
- zbb20181214 js,html 点击页面出现游走文字 富强 民主 民主
- 多种支付渠道路由方案有哪些?
- ue4 物品随机生成
- 微信小程序点播插件_微信小程序 视频 组件
- 众包物流:把每个人变成快递员
- Eigen 常用操作
- AI检测生物钟,精准医疗或成最大“受惠者”
- 信息收集——善用搜索引擎
- 【迁移攻击笔记】数据集の变化→提高迁移率!Improving Transferability of Adversarial Examples with Input Diversity