Android获取手机状态和监听手机来电状态

news/2025/2/12 23:51:10/

获取手机状态:

	import android.content.Context;import android.telephony.TelephonyManager;//获得相应的系统服务TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);/*** 返回电话状态* * CALL_STATE_IDLE 无任何状态时 * CALL_STATE_OFFHOOK 接起电话时* CALL_STATE_RINGING 电话进来时 */tm.getCallState();if(tm.getCallState() == TelephonyManager.CALL_STATE_IDLE) {Log.d("test", "call state idle...");} else if(tm.getCallState() == TelephonyManager.CALL_STATE_OFFHOOK) {Log.d("test", "call state offhook...");} else if(tm.getCallState() == TelephonyManager.CALL_STATE_RINGING) {Log.d("test", "call state ringing...");}


监听手机来电状态:

        //获得相应的系统服务TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);//使用TelephonyManager对象的listen(PhoneStateListener listener, int events)//实现PhoneStateListener listener并实现相应的方法public class MyPhoneCallListener extends PhoneStateListener{@Overridepublic void onCallStateChanged(int state, String incomingNumber){switch (state) {case TelephonyManager.CALL_STATE_OFFHOOK:                   //电话通话的状态Toast.makeText(Main.this, "正在通话...", Toast.LENGTH_SHORT).show();break;case TelephonyManager.CALL_STATE_RINGING:                   //电话响铃的状态Toast.makeText(Main.this, incomingNumber, Toast.LENGTH_SHORT).show();break;}super.onCallStateChanged(state, incomingNumber);}


第一个参数需要实现PhoneStateListener listener并实现相应的方法,第二个参数是PhoneStateListener的静态常量,此处由于是监听电话状态,所以需要传入LISTEN_CALL_STATE,而同时也需要在AndroidManifest中注册相应的权限

<uses-permission android:name="android.permission.READ_PHONE_STATE" />



http://www.ppmy.cn/news/583061.html

相关文章

Android 使用前台服务 获取通话状态和来电号码

产品提出一个需求&#xff1a;在来电或通话时获取来电号码&#xff08;因为内部使用的是虚拟号&#xff0c;需要调接口查询对方的身份&#xff09;并展示相关信息 先上个效果图 解决方案&#xff1a;在前台服务中注册通话状态的监听&#xff0c;在响铃和通话时可以获取到手机号…

安卓来电、去电非常重要的2个类:CallsManager和IncallService

前言 与通话相关的绝大多数操作都与CallsManager类相关&#xff0c;因此在对Telecom中的各种功能和机制分析之前&#xff0c;有必要先对CallsManager进行一定的了解。本文内容基于Android M版本。CallsManager位置&#xff1a;alps\packages\services\Telecomm\src\com\androi…

设置来电铃声、卡2来电铃声、短信铃声、提示铃声、闹铃铃声

清单权限要求 <uses-permission android:name"android.permission.WRITE_SETTINGS"tools:ignore"ProtectedPermissions" />权限判断 Settings.System.canWrite(context)权限设置 Intent intent new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS…

如何在 Android 上自定义来电通知?带有代码示例

您将从本文中学习如何在 Android 上进行从基本布局到高级布局的来电通知。使用我们的示例自定义通知屏幕。 今天&#xff0c;我们将处理来电通知&#xff1a;我们将从最简单和最简约的通知开始&#xff0c;并以采用非系统设计的全屏通知结束。让我们开始吧&#xff01; 频道创…

iOS中如何监测来电

问题 最近在做一个有录音功能的App&#xff0c;要求当用户接到来电时&#xff0c;要停止录音。该如何实现这个功能呢&#xff1f; 解决方案 我首先想到了AppDelegate里的applicationWillResignActive:方法&#xff0c;在该方法的注释中就写到到收到来电或短信时&#xff0c;…

寻找两个正序数组的中位数,js实现

寻找两个正序数组的中位数&#xff0c;js实现 题目描述思路分析算法 题目描述 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 实例1&#xff1a; …

INTERSPEECH 2023论文|基于自监督学习表示的具有持久性口音记忆的口音识别

论文题目&#xff1a; Self-supervised Learning Representation based Accent Recognition with Persistent Accent Memory 作者列表&#xff1a; 李睿&#xff0c;谢志伟&#xff0c;徐海华&#xff0c;彭亦周&#xff0c;刘和鑫&#xff0c;黄浩&#xff0c;Chng Eng Sio…

Open ai 开发指南:gpt接口的第一个问答机器人demo

目录 内容 Python代码 C 代码 workspace 文件 BUILD文件 Java 代码 maven文件 执行效果 内容 基于openai接口实现循环gpt问答&#xff0c;并使用一个文件将问答内容进行记录。 Python代码 # -*- coding: utf-8 -*- import openai import time from pathlib import P…