请看程序
PhoneActivity.java
package com.phone;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
public class PhoneActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
//通过电话管理器监听通话状态(回调机制)
telManager.listen(new PhoneStateListener(){
public void onCallStateChanged(int state,String incomingNumber){
System.out.println("state:"+state);
switch(state){
/*TelephonyManager.CALL_STATE_IDLE://空闲
TelephonyManager.CALL_STATE_OFFHOOK://接起电话
TelephonyManager.CALL_STATE_RINGING://振铃*/
case TelephonyManager.CALL_STATE_IDLE:
System.out.println("空闲");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
System.out.println("接起电话");
break;
case TelephonyManager.CALL_STATE_RINGING:
System.out.println("振铃");
break;
default:
System.out.println("其他");
}
}
},PhoneStateListener.LISTEN_CALL_STATE);
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.recorder"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".RecorderActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
</manifest>
分享到:
相关推荐
要监听电话状态,首先需要在AndroidManifest.xml中声明必要的权限。这些权限包括: - PROCESS_OUTGOING_CALLS:用于拦截和处理外拨电话。 - READ_PHONE_STATE:用于读取电话状态,例如获取来电号码等信息。 注册...
在Android系统中,监听电话状态是一项重要的功能,它允许开发者获取到电话的实时信息,比如来电、去电、通话结束等事件。这项功能通常应用于电话录音、来电管理、短信拦截等场景。本教程将深入探讨如何在Android应用...
在Android系统中,监听电话状态是一项重要的功能,它允许开发者获取到电话的呼叫事件,例如来电、去电、通话结束等。这对于开发电话管理应用、来电显示应用或者通话记录应用等非常有用。在这个"Android中监听电话...
// 处理来电状态,如显示来电信息 break; case TelephonyManager.CALL_STATE_OFFHOOK: // 通话中 // 处理通话进行中状态 break; } } }; telephonyManager.listen(phoneStateListener, PhoneStateListener....
在Android平台上,监听电话呼叫状态是一项重要的功能,它允许开发者获取到电话的实时状态,例如来电、通话中或挂断等。以下将详细介绍如何在Android应用中实现这一功能,包括必要的权限控制和电话状态监听。 首先,...
在Android系统中,监听电话状态是一项重要的功能,它允许开发者获取到电话的实时信息,比如来电、去电、通话结束等事件。这个压缩包“Android程序研发源码Android中监听电话状态.zip”很可能包含了实现这一功能的...
在Android应用开发中,监听电话状态是一项常见的需求,特别是在实现通信相关的功能时,例如通话记录、来电显示或者短信拦截等。这份"Android应用源码之中监听电话状态"的资源是针对这一主题的一个学习Demo,适合...
Android源码_Android中监听电话状态.zip
技术资料分享技术资料分享Android源码_Android中监听电话状态.zip
- `PhoneStateListener`是系统提供的监听电话状态变化的类,通过注册监听器来捕捉来电、去电、电话挂断等事件。 - 示例代码中,使用了`PhoneReceiver`类继承自`BroadcastReceiver`,并重写了`onReceive`方法来处理...
这一功能在Android开发中可以通过使用TelephonyManager类的监听电话状态的方法来实现。 首先,需要明确TelephonyManager类是Android系统提供的一个用于访问电话服务信息的类。通过这个类,开发者可以监听到电话的...
首先,为了监听电话状态,我们需要创建一个实现了PhoneStateListener接口的类。PhoneStateListener提供了多种回调方法,例如onCallStateChanged(),这个方法会在电话状态改变时被调用。我们主要关注的状态有...
应用程序可以注册listener来监听电话状态的改变。我们不能对TelephonyManager进行实例化,只能通过获取服务的形式: Context.getSystemService(Context.TELEPHONY_SERVICE); 注意:对手机的某些信息进行读取是需要...
然后,我们需要在AndroidManifest.xml中声明权限,以允许应用监听电话状态。这包括READ_PHONE_STATE和INTERNET权限: ```xml ``` 接下来,我们要在Service中注册并使用电话监听器。首先在Service的...
为了监听电话状态的变化,开发者需要注册一个广播接收器(`BroadcastReceiver`),并监听特定的广播动作,如`TelephonyManager.ACTION_PHONE_STATE_CHANGED`。 ### 必需的权限 在Android中,监听电话状态涉及到用户...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
对于监听电话状态,需要添加`READ_PHONE_STATE`权限,这样我们的应用才能访问电话的状态信息。在`onReceive()`方法中,通过`TelephonyManager`的`getCallState()`方法可以获取当前的电话状态,如IDLE(空闲)、...
使用`TelephonyManager`类可以监听电话状态。通过注册`PhoneStateListener`并重写`onCallStateChanged()`方法,可以获取到电话的状态变化,如通话开始、结束和呼叫等待等。 3. **短信监听**: 实现`...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...