平台:CSR8670

SDK:ADK4.1

场景:CSR8670作为HF,当AG连接上后,获取来电的号码

结论:如果不关注流程的,很简单,直接通过下面的设置并且Write Device就可以了。

不断变化的需求:

我的原始需求并不是这样,而是要把这块业务能力抽象出来,提供产品需求上的支撑。一个场景就是来电之后,APP通过内部协议把电话号码发送给设备,设备拿到号码之后

可以选择播放,也可以有其他的动作

流程:

为了知道上图中的那个设置到底干了什么,在网上没啥资料可搜索的情况下,第一时间看官方的HFP相关的文档,来电的时候是HFP profile的相关知识,这是基础。

上图是官方文档,来电的时候猜测可能AG会尝试建立语音连接,所以重点查看SCO和ALC的incoming connection过程,最后在这个流程下找到对应的开发实现,

流程图如下:

这里面查看一下应用层收到的HFP_SLC_CONNECT_CFM消息:

main.c中收到这个消息的代码调用:

case HFP_SLC_CONNECT_CFM:sinkHandleSlcConnectCfm(conncfm);
sinkHandleSlcConnectCfm中对SLC做了setup操作,通过调用slcConnectionSetup,这里面就调用了HfpCallerIdEnableRequest方法,打开这个方法的注释,
大家会发现这个是发给AG的一个请求,请求对方告知caller id,也就是来电号码了。如果AG允许了,系统会推送一个消息给应用层,消息id为HFP_CALLER_ID_IND,
只要在这个case里面拿到消息,就可以获取到来电号码了,当然也可以利用ADK提供的方法来播放号码对应的语音了。

CSR8670获取来电号码及开发流程相关推荐

  1. Android 获取来电号码和去电号码

    转载请注明出处: http://blog.csdn.net/like_program/article/details/52662942 这篇博客将讲解 Android 如何获取来电号码和去电号码. 打 ...

  2. android来电电话获取,Android获取来电号码代码

    对于Android平台的整个来电软件制作十分简单,Android平台在各方面都比较智能,加上一个BOOT_COMPLETED获取,保证开机自动运行,一个来电通就很容易的制作完成了. Android来电 ...

  3. android获取来电号码,Android获取来电号码代码详解

    对于Android平台的整个来电软件制作十分简单,Android平台在各方面都比较智能,加上一个BOOT_COMPLETED获取,保证开机自动运行,一个来电通就很容易的制作完成了. Android来电 ...

  4. Android入门学习_Android获取来电号码

    2019独角兽企业重金招聘Python工程师标准>>> Android来电号码获取的方法很简单,虽然Dalvik上的程序都是Java写的,但是仍然可以处理系统事物,使用PhoneSt ...

  5. Windows Mobile 获取来电号码和屏蔽来电

    今天接到一个特殊任务...在 Windows Mobile 中获得来电号码,其实它本身就有个来电显示,可现在要求就是要自己写程序来完成这个来电显示... 没办法...虽然没搞过...但是这个东东好像比 ...

  6. Android通过来电号码识别姓名。

    项目中遇到需要通过来电号码获取到联系人姓名的需求. 然而,简单地通过联系人数据库的Filter来获取来电号码在部分手机是获取不到保存的联系人的,比如三星S3,需要获取通信录保存的有+86等国区码,而来 ...

  7. 项目总结24:海关179号(实时获取电商平台企业支付相关原始数据)开发流程和相关资料...

    项目总结24:海关179号(实时获取跨境电子商务平台企业支付相关原始数据接入)开发流程和相关资料 欢迎大家留言探讨 1.致谢 感谢:https://blog.csdn.net/ccbox_net/ar ...

  8. Android来电号码获取代码

    Android来电号码获取的方法很简单,虽然Dalvik上的程序都是Java写的,但是仍然可以处理系统事物,使用PhoneStateListener;类可以监测话机状态,而TelephonyManag ...

  9. ETL工具Informatica开发流程 综合应用 电信通话计费系统开发项目案例10

    一.准备数据源 在Oracle数据库中创建 OLTP用户导入源数据 oracle_oltp_data.sql 在Mysql数据库中创建表,插入产品相关数据 mysql_product_data.sql ...

最新文章

  1. php批量生成产品编号:xxx.000001,并依次递增
  2. CTFshow 命令执行 web34
  3. Redis 缓存和 MySQL 数据如何实现一致性?
  4. Serverless 解惑——函数计算如何安装字体
  5. 改变软件开发者的形象,增加多样性
  6. 小程序 获取 用户 unionid
  7. npm 是干什么的?
  8. 【华为云技术分享】云小课 | SAP容灾一点通
  9. 三大无线技术 —— WiFi、蓝牙、HomeRF(无线网卡、WPAN)
  10. Win10启用linux子系统(Linuxer福利)
  11. vmware虚拟机安装gho版本系统
  12. 微信小程序 等待几秒、_微信小程序从提交审核到审核通过最快速度:39分55秒!...
  13. string.h 详解
  14. 2794: [Poi2012]Cloakroom
  15. python怎么选取不连续的列_用pandas中的DataFrame时选取行或列的方法
  16. ‘C:\Users\Administrator\Desktop\gitSpace\dj-2\dj\vue-manager-dj\node_modules\node-sass\vendor‘
  17. java 计算圆周率_java程序计算圆周率
  18. tensorflow量化感知训练_TensorFlow 8 bit模型量化
  19. matlab处理时间数据绘图
  20. linux 跑天龙八部游戏脚本,天龙八部脚本免费版2019export

热门文章

  1. MapInfo、ArcGIS 狙击战 1
  2. MATLAB出现“变量似乎要更改脚本中每个循环迭代的大小。请考虑对速度进行预分配。”警告如何解决...
  3. 断电后笔记本损坏文件如何恢复
  4. postman使用实践教程图文详解
  5. libsuperuser简介
  6. php商品详情显示页面代码,商品详情页是怎么生成的?
  7. 毫米波雷达识别问题分析及解决措施
  8. Spring Boot与Log4j2集成之java.lang.IllegalStateException: Logback configuration error detected:
  9. logback异常RuntimeException in Action for tag [encoder] java.lang.NumberFormatException
  10. 2020.12学习记录:CentOS登录root时遇到 “login incorrect” 问题的解决方案