Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Android 判断是否在通话中

Android 判断是否在通话中

作者头像
103style
发布于 2022-12-19 05:26:13
发布于 2022-12-19 05:26:13
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

转载请以链接形式标明出处: 本文出自:103style的博客

最后的判断代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 是否正在电话通话中
 */
private boolean phoneIsInUse() {
    TelephonyManager mTelephonyManager = (TelephonyManager) activity.getSystemService(Context.TELEPHONY_SERVICE);
    int state = mTelephonyManager.getCallState();
    return state != TelephonyManager.CALL_STATE_IDLE;
}

开始在网上搜了搜,找到下面这两个:

然后 却找不到 ITelephony 类了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private boolean phoneIsInUse() {
    boolean phoneInUse = false;
    try {
        ITelephony phone = ITelephony.Stub.asInterface(ServiceManager.checkService("phone"));
        if (phone != null) phoneInUse = !phone.isIdle();
    } catch (RemoteException e) {
        Log.w(TAG, "phone.isIdle() failed", e);
    }
    return phoneInUse;
}

6.0之后才可以用这个, 且需要判断 READ_PHONE_STATE 权限.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static boolean phoneIsInUse(Context context){
    TelecomManager tm = (TelecomManager)context.getSystemService(Context.TELECOM_SERVICE);
    return tm.isInCall();
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android 当点击飞行模式都发生了什么?
今天中午午休时,我把手机开飞行模式了,能看到 WiFi 、蜂窝数据和蓝牙都关闭了,心想,这时候还能收到短信吗?顺着好奇心,我们不妨来研究一下源码,看看点击飞行模式都发生了什么?
吴小龙同學
2019/12/11
1.7K0
Android封装网络检测的相关类
当我们手机的APP在用到网络时一般会先检测手机是不是能上网,或是上网是用的wifi还是手机流量,于是就把相关的网络检测信息封装到一个类里,直接调用方法即可实现了.
Vaccae
2019/07/24
7130
Android | 网络类型判断工具类
在 Android 中获取网络类型时,我们通常先使用 ConnectivityManager.getActiveNetworkInfo() 判断是不是 Wifi , 再通过 TelephonyManager.getNetworkType() 判断具体是 3G 还是 4G。
CnPeng
2021/02/03
4.9K0
获取Android设备DeviceId与反Xposed Hook技术
APP开发中常需要获取设备的DeviceId,以应对刷单,目前常用的几个设备识别码主要有IMEI(国际移动设备身份码 International Mobile Equipment Identity)或者MEID(Mobile Equipment IDentifier),这两者也是常说的DeviceId,不过Android6.0之后需要权限才能获取,而且,在Java层这个ID很容易被Hook,可能并不靠谱,另外也可以通过MAC地址或者蓝牙地址,序列号等,暂列如下:
看书的小蜗牛
2018/06/29
2.7K0
Android监听来电和去电
要监听android打电话和接电话,只需下面2步骤 1.第一步,写一个Receiver继承自BroadcastReceiver 1 import android.app.Service; 2 import android.content.BroadcastReceiver; 3 import android.content.Context; 4 import android.content.Intent; 5 import android.telephony.TelephonyManager;
欢醉
2018/01/22
1.1K0
Android SecurityException: getDataNetworkTypeForSubscriber问题修复
前不久,在开发Android视频播放器的时候,使用手机的4G播放时出现了getDataNetworkTypeForSubscriber错误,详细的报错信息如下:
xiangzhihong
2022/11/30
1.9K0
Android来电监听和去电监听
用户1155943
2018/01/04
5K0
跨进程访问(AIDL服务)
我们都知道Service的主要的作用是后台运行和跨进程访问。 关于Service后台运行请查看鄙人的另外一篇文章Service基础
小小工匠
2021/08/16
8450
电话拦截
首先需要 android 源码文件NeighboringCellInfo.aidl和ITelephony.aidl,新建文件夹android.telephony(文件名必须为这个名称),将文件Neig
xiangzhihong
2018/01/29
1.5K0
电话拦截
Android 电话自己主动接听和挂断具体解释「建议收藏」
详细分三步: (1)ITelephony.aidl ,必须新建com.android.internal.telephony包并放入ITelephony.aidl文件(构建后在gen下有ITelephony.java文件,这是aidl生成的接口),文件内容例如以下: package com.android.internal.telephony; interface ITelephony{ boolean endCall(); void answerRingingCall(); } (2)在须要的类中加入例如以下方法,代码例如以下(通过反射获取电话接口的实例)
全栈程序员站长
2022/07/08
1.2K0
羊皮书APP(Android版)开发系列(十)Android开发常用工具类
Android开发过程中,我们需要的很多代码都是重复多次使用的,写成工具类是一个比较好的做法,下面是我常用的几个工具类,也希望对你有所帮助。分别是:日期格式化工具、转换图片颜色工具、app启动引导页控制工具、Intent 工具、手机信息采集工具、存储和访问SharedPreferences工具、正则表达式工具、SD卡片工具、Toast信息工具、app版本工具、错误信息反馈工具、类型转换工具。 大家可到github上下载代码AndroidUtils。 日期格式化工具 package cn.studyou
热心的程序员
2018/08/30
8920
Android监听来电状态
转载请以链接形式标明出处: 本文出自:103style的博客 记录一下. public class PhoneCallReceiver extends BroadcastReceiver { private static final String TAG = "PhoneCallReceiver "; private OnPhoneCallListener onPhoneCallListener; @Override public void onReceive(C
103style
2022/12/19
4780
Android实现电话录音
在清单文件AndroidManifest.xml中添加权限: <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-
用户7999227
2021/09/19
1.1K0
android 监听网络状态的变化及实战
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/53008266
程序员徐公
2018/09/17
4.7K0
android 监听网络状态的变化及实战
android的电话监听
android的电话监听 新建一个项目,结构图如下: image PhoneService: package com.demo.tingdianhua; import android.app.Ser
Dream城堡
2019/01/28
1.2K1
android 获取设备信息
//手机号码 public static String getLine1Number(Context context) { TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); if (tm == null) { return ""; } return "" + tm.getLine1
再见孙悟空_
2023/02/10
1.5K0
android双待手机获取每一张SIM卡的imei
/** * create a TelephonyInfo.java class */ import java.lang.reflect.Method;
yuanyuan
2019/09/10
1.2K0
相关推荐
Android 当点击飞行模式都发生了什么?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验