androidmanifest权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
首先获取TelephonyManager实例。
其和获取其他系统服务一样采用getSystemService方法获得。
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
然后使用telephonyManager监听事件。采用TelephonyManager.listen(PhoneStateListener listener, int events)方法。复写PhoneStateListener中的onCallStateChanged方法。使其得到状态变化的信息进行输出。
源代码如下:
package com.duduli.li;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
public class CallMe2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
tm.listen(new MyPhoneState(), PhoneStateListener.LISTEN_CALL_STATE);
}
class MyPhoneState extends PhoneStateListener{
@Override
public void onCallStateChanged(int state, String incomingNumber) {
// TODO Auto-generated method stub
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case 0x00000000:
System.out.println("CALL_STATE_IDLE");
break;
case 0x00000002:
System.out.println("CALL_STATE_OFFHOOK");
break;
case 0x00000001:
System.out.println("CALL_STATE_RINGING");
break;
default:
break;
}
}
};
}
CALL_STATE_IDLE 为电话空闲状态。
CALL_STATE_OFFHOOK 电话接通后的状态。
CALL_STATE_RINGING 如果有电话进来(没有接听)。
分享到:
相关推荐
在Android平台上,对电话状态的监听和拦截是一个需要特别权限和精确实现的敏感操作,这涉及到Android的权限管理、广播接收器(BroadcastReceiver)、事件监听机制以及电话状态的处理。以下知识点将详细介绍如何实现这...
`PROCESS_OUTGOING_CALLS`用于处理拨打电话事件,`READ_PHONE_STATE`允许读取电话状态,而`MODIFY_PHONE_STATE`则允许修改电话状态,如接听或挂断电话。 接下来,**来电监听**是自动接听的核心部分。我们可以通过...
在Android开发中,自定义滑动接听电话控件组是一种常见的功能实现,它为用户提供了一种直观、便捷的接听电话方式。这样的控件通常由一个显示来电信息的界面和一个可滑动的接听/挂断按钮组成。在这个场景中,我们将...
综上所述,实现Android自动接听和挂断电话的功能涉及到权限管理、电话状态监听、启动接听动作、挂断操作、适配不同版本的Android以及处理用户权限等关键知识点。在开发过程中需要注意系统的限制和用户的安全,确保...
在Android系统中,电话接听功能是通过特定的API和组件实现的。在Android 2.3(Gingerbread)版本中,虽然已有较早的版本支持通话管理,但该版本的一些特性和限制仍然值得深入探讨。这篇博客文章可能提供了一些关于...
总的来说,Android接听电话涉及到的源码包括电话服务、电话状态监听、通话UI管理、底层通信接口、音频处理等多个方面。深入理解这些组件和它们之间的交互,可以帮助开发者更好地实现自定义通话功能或者优化通话体验...
在Android应用开发中,实现自动接听和挂断电话的功能是一个高级话题,涉及到系统级权限、来电监听和服务等关键概念。这个源码项目提供了一个实际的示例,可以帮助开发者理解和掌握这些技术。 首先,我们要理解...
这个"Android来电接听或挂断界面源码"项目提供了一个自定义的解决方案,允许用户通过左右滑动来接听或挂断电话,增加了操作的便捷性和用户体验。下面我们将详细探讨这个源码实现的关键知识点。 1. **自定义接收器...
在Android中,处理电话事件需要获取相应的系统权限。首先,需要在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission ...
Android电话服务是由系统的`com.android.server.telecom`组件提供的,它管理着手机的所有通话活动。由于涉及到用户隐私和系统安全,这部分功能需要获得相应的系统权限。 1. **权限申请**: - `READ_PHONE_STATE`: ...
本文将详细介绍如何在Android 2.3版本中实现自动接听电话功能,并通过示例代码来帮助理解具体实现细节。 #### 核心知识点详解 1. **关键类与接口** - **TelephonyManager**:提供了一系列与电话服务相关的操作...
通过创建并配置 AccessibilityService,我们可以监听到电话接听的界面,并在接收到电话时执行自定义操作。 3. **模拟点击**:在Android中,模拟点击通常通过发送MotionEvent来实现。例如,可以创建一个MotionEvent ...
在安卓(Android)平台上,开发一个能够自动接听和挂断电话的应用程序涉及到多个核心知识点,这些功能通常是通过监听系统的电话状态来实现的。本项目提供的源码深入展示了如何利用Android的电话管理和广播接收器机制...
在Android平台上,实现自动接听和挂断电话的功能主要涉及到电话管理和服务组件的使用。这个功能在某些场景下非常有用,比如在驾驶时自动接听电话,或者在自动化测试中模拟用户行为。下面我们将深入探讨如何在Android...
以下是关于Android电话状态的详细解析: 1. 通话状态(Call State) Android提供了通话状态枚举类,用于表示电话的不同阶段。这些状态包括: - IDLE:待机状态,电话未连接。 - ACTIVE:通话中。 - HOLDING:...
RIL.java位于frameworks/opt/telephony/src/com/android/internal/telephony目录下,是Android电话系统中负责与Radio硬件通信的一个重要组件。在电话的呼出流程的最后,RIL.java会启动一个RILReceiver的Runnable线程...
Android 检测判断手机的待机状态,比如手机正在处于待机状态、手机正在响铃、手机正在震动、手机已接听电话、手机正在连接来电等等的一些状态,使用了Case语句来判断各个状态。 case TelephonyManager.CALL_STATE_...