1>添加读取手机状态的权限
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
2>获取管理手机的系统服务
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
3>编写手机状态监听类
public class exPhoneCallListener extends PhoneStateListener {
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE ://待机
break;
case TelephonyManager.CALL_STATE_OFFHOOK ://挂断
break;
case TelephonyManager.CALL_STATE_RINGING ://来电话
//来电免打扰程序要处理的关键事务
break;
default :
break;
}
super.onCallStateChanged(state, incomingNumber);
}
}
4>注册监听
exPhoneCallListener myPhoneCallListener = new exPhoneCallListener();
tm.listen(myPhoneCallListener,PhoneStateListener.LISTEN_CALL_STATE);
分享到:
相关推荐
首先,为了能够访问手机的通话状态,必须在应用程序的清单文件`AndroidManifest.xml`中添加相应的权限。这是通过添加以下代码行实现的: ```xml <uses-permission android:name="android.permission.READ_PHONE_...
// TelephonyManager.EXTRA_STATE_OFFHOOK 电话处于通话状态 // TelephonyManager.EXTRA_STATE_RINGING 电话振铃 } else if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { // 在这里处理外拨...
在Android开发中,获取通话状态是一项重要的功能,它允许应用监听和处理用户的通话事件,比如来电、去电、通话结束等。本节我们将深入探讨如何使用`TelephonyManager`类来实现这一目标,并提供详细的相关源码示例。 ...
在Android上,这涉及监听触摸事件、处理BroadcastReceiver以响应电话状态变化,以及使用TelephonyManager API来获取和控制通话状态。源码中将会有处理这些逻辑的Activity或Fragment类。 此外,考虑到用户体验,源码...
6. **Intent和BroadcastReceiver**:当新的通话发生时,你可以注册一个BroadcastReceiver监听`ACTION_NEW_OUTGOING_CALL`和`ACTION_PHONE_STATE_CHANGED`广播,实时获取通话状态变化并更新应用界面。 7. **权限动态...
根据提供的文件信息,我们可以深入分析并提取出与“Android通话记录获取”相关的多个知识点: ### 1. Android通话记录的基本概念 在Android系统中,通话记录是存储在设备上的历史通话列表,通常包括拨出、接收到的...
此外,如果需要实时监控通话状态并获取通话时间,可以考虑使用`PhoneStateListener`。当通话状态改变时,监听器会收到回调,例如在通话开始和结束时,你可以启动或停止一个`Service`来记录通话开始和结束的时间,...
在`onCallStateChanged(int state, String incomingNumber)`方法中,可以判断当前是否处于通话状态,以便在通话开始时启动息屏逻辑,在通话结束时恢复屏幕。 6. **权限管理**:为了访问传感器和控制屏幕,还需要在...
这篇教程将深入探讨如何在Android应用中获取联系人信息、通话记录以及短信消息。首先,我们来了解一下基本概念。 1. **获取联系人信息**: Android提供了一套完整的API来访问和操作联系人数据。主要涉及`...
在Android平台上实现通话录音是一项...综上所述,实现Android通话录音涉及了`AudioRecord`的使用、权限管理、电话状态监听、文件操作以及播放录音等多个方面,需要开发者具备扎实的Android开发基础和良好的编程实践。
【基于Android平台下的通话录音软件】 在Android平台上开发通话录音软件是一项常见的移动应用开发任务,这类软件能够帮助用户记录他们的电话对话和语音留言,确保重要信息的留存和回顾。为了实现这一功能,开发者...
`RECORD_AUDIO`允许应用访问音频输入设备进行录音,而`READ_PHONE_STATE`则允许应用获取电话的状态,比如来电、去电或通话中,以便在适当的时候启动录音。 2. **录音API**:Android提供了MediaRecorder类用于录音...
首先,Android的通话时间统计器应用通常会集成到系统的电话服务中,通过监听通话状态来获取相关信息。在Android中,`TelephonyManager`类是与电话功能交互的主要接口,它提供了监听电话状态变化的方法。例如,我们...
同时,也需要设计呼叫界面、接听界面和挂断界面,并处理各种状态的反馈,如来电提示、通话中状态、网络质量指示等。 此外,为了提高用户体验,我们还需要考虑音视频同步、回声消除(AEC,Acoustic Echo ...
TelephonyManager提供与电话服务交互的方法,如获取设备的IMEI、SIM状态等。CallLog类则用于访问通话历史记录,它提供了添加、查询和删除通话记录的接口。 源码中,你会看到如何请求权限来访问通话记录。在...
总的来说,Android获取通话记录、拨打电话和发送短信的功能实现涉及到了Android的ContentProvider、Intent、Permission以及Activity生命周期等多个核心概念。开发者需要对这些基础知识有深入理解,才能流畅地编写出...
本文将深入探讨如何在Android中实现录音、获取录音文件以及控制录音时间,同时也会提及与动画和文件操作相关的知识点。 一、Android录音机制 Android系统提供了MediaRecorder类来处理音频录制。MediaRecorder是一个...
使用AudioRecord类来录制音频,需要设置合适的AudioSource,如`AudioSource.VOICE_CALL`,这可以获取通话的声音。 3. **MediaRecorder**: 对于更复杂的录音需求,可以使用MediaRecorder类,它可以更方便地设置...