Android打电话流程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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) 对通话的各种状态进行广播

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档