`

【android】电话接听状态事件

阅读更多
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  如果有电话进来(没有接听)。
分享到:
评论
1 楼 zhouming4455 2014-01-24  

相关推荐

    Android广播接实现监听电话状态(电话的状态,拦截)

    主要介绍了Android广播接实现监听电话状态(电话的状态,拦截) 的相关资料,需要的朋友可以参考下

    Android来电接听或挂断界面源码

    自己做的Android来电接听界面,可以左右滑动接听或者挂断源码。

    Android 检测判断手机的待机状态.rar

    Android 检测判断手机的待机状态,比如手机正在处于待机状态、手机正在响铃、手机正在震动、手机已接听电话、手机正在连接来电等等的一些状态,使用了Case语句来判断各个状态。  case TelephonyManager.CALL_STATE_...

    Android 判断手机的通话状态并自动发短信给对方.rar

    Android 判断手机通话的几种状态,比如正在通话状态、等待用户接听状态、手机处于待机状态、电话已接通、有来电并显示电话号码。程序还支持未接电话自动发短信功能,当判断出“我现在不方便接电话,稍后打给你”时,...

    MonitorPhone_android_

    Android 得到电话状态 挂机状态、接听状态、拨号状态等

    android 4 (实测4.3和4.4可以用) 响铃5秒后自动接电话

    开发工具为eclipse,一个BroadcastReceiver监听电话状态,响铃则启动接电话的Service。

    Android 实现手机接通电话后振动提示的功能

    有些手机在电话接通后会有振动提示,这有个好处就是可以等到接通后再放到耳边接听,减少辐射。本文就讲讲如何在Android手机中实现这种接通电话后的振动提示功能,这里主要针对拨出的电话。  Android SDK提供的通话...

    Android监听来电和去电的实现方法

    要监听android打电话和接电话,只需下面2步骤 第一步,写一个Receiver继承自BroadcastReceiver import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import ...

    Android Call(打电话)的基本知识详解

    拨打一路电话,对方尚未接听,主叫方等待被交接听的时候的状态即为dialing状态 2. active call 激活通话:双方正在进行的正常的通话 3. hold call 保持通话:即将当前通话挂起,双方不管主叫还是被叫方都听不到对方...

    Android 接近传感器实现

    1.接近传感器检测物体与听筒...接近传感器可用于接听电话时自动关闭LCD屏幕以节省电量。 一些芯片集成了接近传感器和光线传感器两者功能(魅族E2)。 https://blog.csdn.net/qq_31939617/article/details/80111145

    Android模拟器参数大全

    * 不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和呼出)。 * 不支持USB连接。 * 不支持相机/视频捕捉。 * 不支持音频输入(捕捉),但支持输出(重放)。 * 不支持扩展耳机。 * 不能确定连接...

    phoneaway:使用预定义状态消息自动回复电话的 Android 小部件

    电话离开这个 Android 小部件将允许用户设置他们的状态和电话的自动响应。 因此,下次您在吃饭或做任何比接听电话更有趣的事情时 :-),您可以使用此小部件自动回复 SMS 消息,而不会让您失望或让您的来电者猜测您的...

    在 React Native 上的音频/视频聊天期间处理媒体路由/传感器/事件_Java_代码_相关文件Objective-C

    此模块的目的是处理电话(音频/视频)期间的操作/事件react-native,例如: 管理设备事件,如有线耳机插入状态、接近传感器并将功能公开给 javascript。 根据事件和平台 API 自动将音频路由到适当的设备。 打开/...

    Android 模拟器的使用详细介绍

    不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫(呼入和呼出) 不支持USB连接 不支持相机/视频捕捉 不支持音频输入(捕捉);但支持输出(重放) 不支持扩展耳机 不能确定连接状态 不能确定电池电量水平...

    Android实现接近传感器

    接近传感器可用于接听电话时自动关闭LCD屏幕以节省电量。 一些芯片集成了接近传感器和光线传感器两者功能(魅族E2)。 2.代码如下: MainActivity.class package com.example.sz.proximitytest; import a

    Android开发之广播机制浅析

    对于了解Android程序设计的人都知道,广播是Android开发中的一个重要的功能,在Android里面有各式各样的广播,比如:电池的状态变化、信号的强弱状态、电话的接听和短信的接收等等,今天本文就来给大家简单介绍一下...

    SSMS:一个简单的android应用程序,用于“加密”我正在创建的有趣的短信

    当前状态等候接听动机由于某些情况,我想学习如何构建Android应用程序。 但是,我不想简单地构建一个Android应用程序,我想弄乱一些我没有理由与其他项目一起使用的东西。 该项目的理想目标是: 了解Android API的...

    Boxing-Interval-Timer:用于 HIIT、拳击、MMA 或 Tabata 训练的间隔计时器 - Android 应用

    附加信息需要振动、电话状态(用于接听电话和暂停计时器)权限需要 Android 4.0.3 及更高版本。错误修复当用户按下主页按钮时,计时器现在不会重新启动。允许需要 Android 4.0.3 及更高版本。从 Z3 移动

    react-native-incall-manager:在React Native上进行视听聊天时处理媒体路由传感器事件

    React本机呼叫管理器 在React Native上的音频/视频聊天期间处理媒体路由/传感器/事件 目的: ... 例如:按下蓝牙按钮,向JS发送事件以接听/挂断电话。 例如:按电源按钮可使来电铃声静音。 使用基于配

    来电通 安卓官方正式版

    1、全新免费电话功能想打就打,好友不便接听时更可灵活转为免费语音留言,让你和好友随时随地轻松沟通,从此再无话费困扰。 2、全新免费短信功能,可与好友便捷语音聊天、分享图片、互刷搞怪表情,更支持多达50人的...

Global site tag (gtag.js) - Google Analytics