获取到管理电话管理对象.
TelephonyManager manager = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);
通过这个管理对象注册监听
manager.listen(listener, events)
其中listener是具体监听事件
events 设为 PhoneStateListener.LISTEN_CALL_STATE
新建一个listener实例. 父类为 PhoneStateListener.
重写public void onCallStateChanged(int state, String incomingNumber)
添加自定义逻辑即可,其中
state 有 TelephonyManager.CALL_STATE_RINGING
TelephonyManager.CALL_STATE_IDLE
TelephonyManager.CALL_STATE_OFFHOOK
常用的三种状态...
大概代码..
manager.listen(new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
Log.v("caodongquan", state + " " + incomingNumber);
if (state == TelephonyManager.CALL_STATE_RINGING) {
} else if (state == TelephonyManager.CALL_STATE_IDLE) {
}
else if(state == TelephonyManager.CALL_STATE_OFFHOOK)
{
}
}
}, PhoneStateListener.LISTEN_CALL_STATE);
分享到:
相关推荐
### Android监听来电和去电的原理 Android系统通过`TelephonyManager`类提供了对电话状态的访问,这包括但不限于电话号码、信号强度和电话状态(如空闲、振铃或通话中)。为了监听电话状态的变化,开发者需要注册一...
### Android来电时停止音乐播放的流程学习 #### 场景分析 在Android系统中,针对来电时音乐播放的控制机制可以分为以下两种典型场景: 1. **电话处于响铃模式时**: - 当有来电时,系统首先会自动暂停正在后台...
以下是对Android监听来电和去电的详细实现方法: 首先,你需要创建一个自定义的BroadcastReceiver类,这个类需要继承自BroadcastReceiver。在这个类中,你需要重写`onReceive()`方法,这是BroadcastReceiver接收到...
例如,检查来电状态通常需要监听PhoneStateListener或BroadcastReceiver,而权限方面则需要确保应用已经获得了ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限,因为Android 6.0及以上版本需要运行时权限。...
- 在Android中,要监听系统来电,需要注册相应的广播接收器(BroadcastReceiver)来监听来电事件。本例中使用了`PhoneStateListener`类来监听来电状态。 - `PhoneStateListener`是系统提供的监听电话状态变化的类...
实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener。 TelephonseManger提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。应用...
在Android开发中,拨号键盘和来去电监听是两个重要的功能模块,它们涉及到用户与设备的通信交互。本文将详细解析如何实现这样的功能,并提供相关的编程知识点。 首先,我们来了解一下拨号键盘的实现。在Android系统...
在Android平台上,对电话状态的监听和拦截是一个需要特别权限和精确实现的敏感操作,这涉及到Android的权限管理、广播接收器(BroadcastReceiver)、事件监听机制以及电话状态的处理。以下知识点将详细介绍如何实现这...
总结一下,实现Android监听电话呼叫状态的步骤如下: 1. 在`AndroidManifest.xml`中添加`READ_PHONE_STATE`权限。 2. 获取`TelephonyManager`服务。 3. 创建并实现`PhoneStateListener`,重写`onCallStateChanged`...
3. **监听来电事件**:当手机接收到来电时,我们需要获取到这个事件并启动我们的自定义来电界面。无障碍服务的配置文件(`AndroidManifest.xml`)需要声明权限和服务,服务类需要继承`AccessibilityService`,并重写...
在Android 6.0及以上版本,需要在运行时申请READ_PHONE_STATE权限,以允许应用监听来电和获取电话号码。 7. **服务优化**: 考虑到性能和电池消耗,服务应该设计成只在需要时启动和运行。来电查询服务可以设置为...
创建一个`BroadcastReceiver`,用于监听来电事件。在`onReceive()`方法中处理来电。注册广播接收器需要在`AndroidManifest.xml`中声明: ```xml <receiver android:name=".IncomingCallReceiver"> <action ...
实现监听来电通常需要注册一个`PhoneStateListener`,该监听器可以获取到电话的状态变化,如通话开始、结束、振铃等。以下是一个简单的`PhoneStateListener`示例: ```java TelephonyManager tm = ...
3. **BroadcastReceiver**:来电时,系统会发送一个广播Intent,我们可以注册一个BroadcastReceiver监听这个广播,当接收到来电Intent时,启动Content Provider查询来电号码的归属地。 4. **UI显示**:查询到归属地...
我们需要创建一个PhoneStateListener的子类,并重写onCallStateChanged方法,以监听来电事件。 3. **自定义来电窗口**: 使用Android的WindowManager服务,我们可以创建并添加一个自定义布局到屏幕顶部,作为来电...
具体来说,我们需要找到`TelephonyManager`类的私有方法,如`listen()`,来监听来电事件。 2. **监听来电**: 使用反射机制,我们注册一个`PhoneStateListener`,并设置监听级别为`LISTEN_CALL_STATE`。这样,当...
以上是对"Android来电防火墙源码"所涉及的关键技术点的分析,这些知识点涵盖了Android应用开发中的核心要素,包括系统兼容性、权限管理、事件监听、数据库操作和用户界面设计等。通过深入理解和改进这些部分,可以...
在Android系统中,监听电话状态是一项重要的功能,它允许开发者获取到电话的实时信息,比如来电、去电、通话结束等事件。这项功能通常应用于电话录音、来电管理、短信拦截等场景。本教程将深入探讨如何在Android应用...
首先,电话监听器(PhoneStateListener)是Android提供的一个接口,用于监听手机的通话状态,如来电、去电、通话结束等事件。要实现电话监听,我们需要创建一个PhoneStateListener的子类,并重写其中的...