Android 10 拨打电话流程
接续上一章节,理解Android 10 拨打电话流程
packages/apps/Dialer/java/com/android/dialer/dialpadview/DialpadFragment.java
输入完电话号码,点击拨打电话按钮
进入到handleDialButtonPressed中
首先判断是否未空电话号码,如果为空,就会加载上次输入的电话号码
如果不为空,判断电话是否为非法号码,如果非非法号码,逻辑进入下面
首先看CallIntentBuilder
其本质为Intent ,其中uri为电话号码转换类型,其中最为重要为builder.build()这个方法,为Intent添加了Intent.ACTION_CALL的意图对象,并附加其他信息。
再回到PreCall.start最后进入到
packages/apps/Dialer/java/com/android/dialer/util/DialerUtils.javal类的
startActivityWithErrorToast方法中
该方法根据Action的不同,分两个分支逻辑处理,执行
placeCallOrMakeToast 和 Content.startActivity
PlaceCallOrMakeToast方法将继续执行拨号请求,最后调用到
frameworks/base/telecomm/java/android/telecom/TelecomManager.java中的placeCall
以上进程属于com.android.dialer进程
这是一次跨进程的调用,调用到实现ITelecomService的类中,ITelecomService接口定义文件是:frameworks/base/telecomm/java/com/com/android/internal/telecom/ITelecomService.aidl,而最终该接口将实现在packages/service/Telecom/src/com/android/server/telecom/TelecomServiceImpl.java文件中,至此Dialer逻辑结束。
DialpadFragment 提供拨号界面
CallIntentBuilder 创建拨号意图
TelecomManager 跨进程传递拨号请求
Android 10 拨打电话流程相关推荐
- android N 拨打电话流程(MO)
本流程图基于MTK平台 Android 7.0,拨打的普通电话,本流程只作为沟通学习使用 整体流程图 流程中部分重点知识 packages-apps目录 dialer应用的DialpadFragmen ...
- Android5.1 Telephony流程分析——拨打电话流程(MO CALL)
本文代码以MTK平台Android 5.1为分析对象,与Google原生AOSP有些许差异,请读者知悉. 此图主要是根据Android源代码拨打电话流程来绘制,记录了电话拨打的主要过程: 参考博客:h ...
- Java模拟拨打电话程序_java_编写android拨打电话apk应用实例代码,android 实现拨打电话的app,代 - phpStudy...
编写android拨打电话apk应用实例代码 android 实现拨打电话的app,代码非常简单,功能也很实用,分享给大家. MainActivity.java package com.bblei.c ...
- Android Tel 拨打电话及来电流程分析
打电话流程 接下来分析一下打电话的流程.输入电话号码的流程这里忽略.输入电话号码之后会点击拨打图标.之后就会走拨打电话的流程了.这部分是在packages/apps/Dialer/src/com/an ...
- 脚本控制向Android模拟拨打电话,发送短信,定位设置功能
做行为触发的时候要向模拟器实现拨打电话,发送短信,定位设置的的功能,可以很方便通过telnet localhost 5554实现. 写个脚本很快的搞定了.网上资料很多,脚本的很少,也所积点德啦. 写 ...
- android调用拨号界面拨打电话功能,Android实现拨打电话功能
添加权限: 实现: package com.example.call_person; import android.annotation.SuppressLint; import android.co ...
- Android实现拨打电话
一.添加拨打电话的权限 <uses-permission android:name="android.permission.CALL_PHONE"/> 二.两种方法 1 ...
- android如何拨打电话
方法一:直接拨打电话,需要添加权限 <uses-permission android:name="android.permission.CALL_PHONE" /> / ...
- Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)
Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: <span style="font-size:18px;"> Inte ...
最新文章
- 机器学习与数据挖掘网上资源搜罗——良心推荐
- JavaScript 编程精解 中文第三版 十、模块
- ASP网站程序自动升级实现的方法
- db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例
- idea 中javax.servlet.http.HttpServlet包导不进来
- 作业27-登录之后更新导航
- 蓝桥杯 java基础练习 回形取数
- 三维旋转四元数系列(1.复数与二维旋转)
- 『诡异的』VL10B创建外向交货单出错解决全过程
- MDC机制实现日志的链路追踪
- 三条中线分的六个三角形_初中数学:在三角形中辅助线添加规律归纳总结
- CFA一级知识点总结
- md5在线转换计算机,已解付费MD5在线解密查询
- 淘宝详情页设计要点有哪些 优秀淘宝详情页面多少屏合适
- 感慨一下中年人的焦虑
- 【Excle数据透视表】如何移动数据透视表的位置
- 12032 解救小哈
- 工作11年,35岁,裸辞: 感到前途很迷茫,如何破?
- 软考中级软件设计师--7.设计模式
- 没有公网IP,3个路由器就能解决连锁视频监控
热门文章
- iptables --algo 字符串匹配算法 bm kmp
- Unhandled JS Exception: Unexpected identifier ‘_classCallCheck‘. import call expects exactly one arg
- 车载网络测试 - 车载以太网 - ICMP详细解析
- android studio try again,完美解决Android Studio在gradle上的各种问题
- 留美CS学习的第一学期总结
- 图解Janusgraph系列-查询图数据过程源码分析
- photoshop图层解锁及不能解锁的原因
- 在电脑上下载哔哩哔哩中的视频
- 打印********的平行四边形
- HIT-哈工大数据结构-作业4(C++)