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

本文实例讲述了Android监听来电和去电的实现方法。分享给大家供大家参考,具体如下:

要监听android打电话和接电话,只需下面2步骤

第一步,写一个Receiver继承自BroadcastReceiver

import android.app.Service;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.telephony.TelephonyManager;

import android.util.Log;

public class PhoneStateBroadCastReceiver extends BroadcastReceiver

{

private static final String TAG = "PhoneStateBroadCastReceiver";

private static boolean mIncomingFlag = false;

private static String mIncomingNumber = null;

@Override

public void onReceive(Context context, Intent intent)

{

// 如果是拨打电话

if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL))

{

mIncomingFlag = false;

String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

Log.i(TAG, "call OUT:" + phoneNumber);

} else

{

// 如果是来电

TelephonyManager tManager =

(TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);

switch (tManager.getCallState())

{

case TelephonyManager.CALL_STATE_RINGING:

mIncomingNumber = intent.getStringExtra("incoming_number");

Log.i(TAG, "RINGING :" + mIncomingNumber);

break;

case TelephonyManager.CALL_STATE_OFFHOOK:

if (mIncomingFlag)

{

Log.i(TAG, "incoming ACCEPT :" + mIncomingNumber);

}

break;

case TelephonyManager.CALL_STATE_IDLE:

if (mIncomingFlag)

{

Log.i(TAG, "incoming IDLE");

}

break;

}

}

}

}

第二步:在AndroidManifest.xml,配置写好的Receiver,并拦截相应的BroadCastAction,

另外注意加上相应的权限

<receiver android:name=".broadcase.PhoneStateBroadCastReceiver">

<intent-filter>

<action android:name="android.intent.action.PHONE_STATE"/>

<action android:name="android.intent.action.NEW_OUTGOING_CALL" />

</intent-filter>

</receiver>

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

PS:这里再为大家提供一个关于AndroidManifest.xml权限控制的在线查询工具:

Android Manifest功能与权限描述大全:

http://tools.jb51.net/table/AndroidManifest

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android短信与电话操作技巧汇总》、《Android操作SQLite数据库技巧总结》、《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

以上是 Android监听来电和去电的实现方法 的全部内容, 来源链接: utcz.com/z/314581.html

回到顶部