- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android打电话流程
Android 打电话流程
1 OutgoingCallBroadcaster.java
点击拨号盘拨打按钮后,进入通话的Phone 包。此时首先进入的函数是
OutgoingCallBroadcaster.java,该类是一个Activity。
activity 的生命周期可知,第一次进入时应调用onCreate()函数。(在该类中也只实现了这个函
数。)解析一下这个函数:
1.1) 首先获取Intent 对象,获取拨出的号码。
1.2) 接着判断号码是否为紧急号码,如果是紧急号码,将 callNow 变量赋值为true ,启动
InCallScreen,并发送广播。而在receiver 里面判断 callNow 为ture 就直接finish ,而不再
重复启动InCallScreen ;如果不是紧急号码,将callNow 变量赋值为false ,发送广播
“Intent.ACTION_NEW_OUTGOING_CALL”。
2 OutgoingCallReceiver.java
广播发送后OutgoingCallReceiver 将会收到该息。该类是一个内部类,在类
OutgoingCallBroadcaster 里面,作用是接收OutgoingCallBroadcaster 发送的广播,判
断是否已经启动 InCallScreen。没有启动的话就进行一些初始化,如:对OTA 进行初始化。接收
到广播之后,从Intent 里面取出电话号码及其URi。然后,设置 Intent 为ACTION_CALL ,并
带上号码和uri。启动InCallScreen。关闭该Activity。
OTA:Over-the-Air Technology 空中下载技术,是通过移动通信(GSM 或CDMA)的空中接口
对SIM 卡数据及应用进行远程管理的技术。空中接口可以采用WAP、 GPR 、CDMA1X 及短消
息技术。OTA 技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。
GSM :Global System for Mobile Communications ,中文为全球移动通讯系统,俗称全
球通。
CDMA :Code Division Multiple Access,又称码分多址,是在无线通讯上使用的技术,
CDMA 允许所有的使用者同时使用全部频带(1.2288Mhz),并且把其他使用者发出的讯号视为杂讯 ,
完全不必考虑到讯号碰撞 (collision) 的问题。CDMA 的优点包括:CDMA 中所提供的语音编码技
术,其通话品质比目前的GSM 好,而且可以把用户对话时周围环境的噪音降低,使通话更为清晰。
3 InCallScreen.java
该类extends 了Acitivity ,并且implements 了 OnClickListener,OnTouchListener
和OnQueryCompleteListener。该类主要是负责通话的那一个界面,并且还负责菜单项各种按
键事件和触摸时间的处理。同时本类还复写的finish()方法,所以一般不会被finish 掉,调用这个方
法时它又把自己放回栈中。 InCallScreen 可以接收这个Intent 并启动。
3.1) onCreate(第一次)
3.1.1) callScreenOnCreate 获得通话界面被创建的时间。
3.1.2) PhoneApp 唤醒后台的服务程序。
3.1.3) 判断当前的通话状态( IDLE =没有通话行为,RINGING =正在通话或呼叫等待,
OFFHOOK = The phone is off hook. At least one call exists that is dialing,
active or holding and no calls are ringing or waiting. ),如果正在通话,不会出现键盘
锁。接着设置mPhone and mForegroundCall/mBackgroundCall/mRingingCall。
3.1.4) getBluetoothHandsfree 设置蓝牙耳机,如果存在蓝牙耳机,则安装该设备。
3.1.5) initInCallScreen 加载各种view 组建。
3.1.6) 对通话的各种状态进行广播
您可能关注的文档
最近下载
- THMSRB3型使说明书.doc VIP
- 基于单片机的家用红外按摩仪设计毕业设计论文.doc VIP
- 中国民间艺术的奇妙之旅考试答案.docx VIP
- 蒋悟生《生物专业英语》教学案.docx VIP
- 【轻质减负】第24课《愚公移山》情境化教学课件.pptx VIP
- 3830分析仪的使用.pptx VIP
- 超星学习通 中国民间艺术的奇妙之旅(南昌大学)尔雅网课答案.pdf VIP
- DELTA台达工业HMI人机界面 DOPSoft 2.00软件操作手册 适用于DOP-B,DOP-W,DOP-H系列-操作指南.pdf
- 时速160公里动力集中动车组动力车.pptx VIP
- 【演练脚本】XX应急预案桌面推演方案(模板和现场案例).docx VIP
原创力文档


文档评论(0)