[发明专利]一种获得来电主叫号码的方法及装置有效
申请号: | 201210390837.2 | 申请日: | 2012-10-15 |
公开(公告)号: | CN102917100A | 公开(公告)日: | 2013-02-06 |
发明(设计)人: | 王文林;彭涛;徐萌 | 申请(专利权)人: | 北京小米科技有限责任公司 |
主分类号: | H04M1/57 | 分类号: | H04M1/57 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100102 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获得 来电 主叫 号码 方法 装置 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种获得来电主叫号码的方法及装置
背景技术
在码分多址接入(Code Division Multiple Access,CDMA)网络中,被叫终端的接听线路进程将来电号码显示的业务启用后,来电消息中其实并没有带主叫号码,主叫号码是后续的一个补充消息中带的信息,与来电消息不是同时间到达的。
而被叫终端的接听线路进程在接到来电消息时,是会立即上报呼叫状态变化消息的。所以,当被叫终端的接听线路进程的一个应用程序,监听其呼叫状态的时候,在接到被叫终端的接听线路进程上报的呼叫状态变化消息时,是无法第一时间获知主叫号码的。
例如,以安卓Android平台为例,当一个应用程序,使用系统中的TelephonyManager程序对listen接口监听终端的呼叫状态的时候,回调函数onCallStateChange(int state,String incomingNumber)中的状态state含有响铃信息CALL_STATE_RINGING,但是主叫号码incomingNumber却可能为空。
对于Android系统的应用程序来说,上述的listen接口是唯一可能知道来电号码的接口。如果这里不能提供来电号码的话,某些应用就不能再正常实现自己的功能,比如某些来电号码归属地提醒软件,没有主叫号码也就不知道该号码的归属地了,再比如某些来电防火墙软件,没有主叫号码就不能正常实现来电防火墙的功能。
综上所述,现有移动终端不能正确获取CDMA网络中来电消息的主叫号码,使得移动终端的一些应用程序不能正常工作。
发明内容
本发明实施例提供了一种获得来电主叫号码的方法及装置,用以正确的获取主叫号码,使被叫终端的某些需要得到主叫号码才能工作的应用程序可以正常工作。
本发明实施例提供的一种获得来电主叫号码的方法,该方法包括:
接收来自主叫终端的来电消息,且当所述来电消息中不包含主叫终端的号码信息时,将所述被叫终端的接听线路进程由空闲状态进入等待状态,等待接收包括主叫终端的号码信息的补充消息;
接收到补充消息后,向所有监听呼叫状态的系统应用程序上报呼叫状态变化消息,将所述被叫终端的接听线路进程由等待状态进入完成状态,所述呼叫状态变化消息包括主叫终端的号码信息。
本发明实施例提供的一种获得来电主叫号码的装置,该装置包括:
检查模块,用于接收来自主叫终端的来电消息,且当所述来电消息中不包含主叫终端的号码信息时,将所述被叫终端的接听线路进程由空闲状态进入等待状态,等待接收包括主叫终端的号码信息的补充消息;
上报模块,用于接收补充消息后,向所有监听呼叫状态的系统应用程序上报呼叫状态变化消息,将所述被叫终端的接听线路进程由等待状态进入完成状态,所述呼叫状态变化消息包括主叫终端的号码信息。
本发明实施例,通过设置的一套状态自动循环机制,在接收到来电消息时,先不进行呼叫状态消息的上报,直到确认或获得了主叫号码的情况下再进行上报,这样保证了被叫终端一些需要获得主叫号码的应用程序可以正常工作。
附图说明
图1为本发明实施例提供的获得来电主叫号码的方法流程示意图;
图2为本发明实施例提供的状态自动循环机制的状态关系示意图;
图3为本发明实施例提供的获得来电主叫号码的装置模块示意图;
图4为本发明实施例提供的获得来电主叫号码的方法及装置在Andriod系统下的工作流程示意图。
具体实施方式
本发明实施例提供了一种获得来电主叫号码的方法及装置,用以正确的获取主叫号码,使被叫终端的某些需要得到主叫号码才能工作的应用程序可以正常工作。
基于上述目的,本发明实施例提供了一种获得来电主叫号码的方法,首先对下文实施例中涉及的状态自动循环机制的三种状态进行一个定义:
空闲状态:状态自动循环机制的初始状态为空闲状态;在当前呼叫状态为空闲IDLE的时候,状态自动循环机制也处于IDLE状态;
等待状态:表示正在等待主叫号码消息;
完成状态:表示等待主叫号码消息已经完成,并上报呼叫状态变化消息。以Android系统为例,在进入这个状态的时候,需要向Android系统报告呼叫状态变化消息,Android系统会根据前后呼叫状态的变化调用函数onCallStateChange()通知各个应用。
如图1所示,在被叫终端侧,该方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米科技有限责任公司,未经北京小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210390837.2/2.html,转载请声明来源钻瓜专利网。