安卓挂电话解析

2024-09-04 01:32
文章标签 解析 电话 安卓挂

本文主要是介绍安卓挂电话解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在app/phone里的PhoneUtils.java里还有一个hangup函数

static boolean hangup(CallManager cm) {boolean hungup = false;Call ringing = cm.getFirstActiveRingingCall();Call fg = cm.getActiveFgCall();Call bg = cm.getFirstActiveBgCall();if (!ringing.isIdle()) {log("hangup(): hanging up ringing call");hungup = hangupRingingCall(ringing);} else if (!fg.isIdle()) {log("hangup(): hanging up foreground call");hungup = hangup(fg);} else if (!bg.isIdle()) {log("hangup(): hanging up background call");hungup = hangup(bg);} else {// No call to hang up!  This is unlikely in normal usage,// since the UI shouldn't be providing an "End call" button in// the first place.  (But it *can* happen, rarely, if an// active call happens to disconnect on its own right when the// user is trying to hang up..)log("hangup(): no active call to hang up");}if (DBG) log("==> hungup = " + hungup);return hungup;}

这里的hungup = hangup(fg);

在同文件里定义

static boolean hangup(Call call) {try {CallManager cm = getCallManager();if (call.getState() == Call.State.ACTIVE && cm.hasActiveBgCall()) {// handle foreground call hangup while there is background calllog("- hangup(Call): hangupForegroundResumeBackground...");cm.hangupForegroundResumeBackground(cm.getFirstActiveBgCall());} else {log("- hangup(Call): regular hangup()...");call.hangup();}return true;} catch (CallStateException ex) {Log.e(LOG_TAG, "Call hangup: caught " + ex, ex);}return false;}

这里的 cm.hangupForegroundResumeBackground(cm.getFirstActiveBgCall());

<span style="font-size:18px;">public void hangupForegroundResumeBackground(Call heldCall) throws CallStateException {Phone foregroundPhone = null;Phone backgroundPhone = null;if (VDBG) {Rlog.d(LOG_TAG, "hangupForegroundResumeBackground(" +heldCall + ")");Rlog.d(LOG_TAG, toString());}if (hasActiveFgCall()) {foregroundPhone = getFgPhone();if (heldCall != null) {backgroundPhone = heldCall.getPhone();if (foregroundPhone == backgroundPhone) {getActiveFgCall().hangup();} else {// the call to be hangup and resumed belongs to different phonesgetActiveFgCall().hangup();switchHoldingAndActive(heldCall);}}}if (VDBG) {Rlog.d(LOG_TAG, "End hangupForegroundResumeBackground(" +heldCall + ")");Rlog.d(LOG_TAG, toString());}}</span>

这里的getActiveFgCall().hangup();在两种情况下都被使用了



这篇关于安卓挂电话解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1134618

相关文章

python进行while遍历的常见错误解析

《python进行while遍历的常见错误解析》在Python中选择合适的遍历方式需要综合考虑可读性、性能和具体需求,本文就来和大家讲解一下python中while遍历常见错误以及所有遍历方法的优缺点... 目录一、超出数组范围问题分析错误复现解决方法关键区别二、continue使用问题分析正确写法关键点三

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

SQL 外键Foreign Key全解析

《SQL外键ForeignKey全解析》外键是数据库表中的一列(或一组列),用于​​建立两个表之间的关联关系​​,外键的值必须匹配另一个表的主键(PrimaryKey)或唯一约束(UniqueCo... 目录1. 什么是外键?​​ ​​​​2. 外键的语法​​​​3. 外键的约束行为​​​​4. 多列外键​

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

全解析CSS Grid 的 auto-fill 和 auto-fit 内容自适应

《全解析CSSGrid的auto-fill和auto-fit内容自适应》:本文主要介绍了全解析CSSGrid的auto-fill和auto-fit内容自适应的相关资料,详细内容请阅读本文,希望能对你有所帮助... css  Grid 的 auto-fill 和 auto-fit/* 父元素 */.gri