Android监听来电和去电的实现方法
本文实例讲述了Android监听来电和去电的实现方法。分享给大家供大家参考,具体如下:
要监听android打电话和接电话,只需下面2步骤
第一步,写一个Receiver继承自BroadcastReceiver
importandroid.app.Service;
importandroid.content.BroadcastReceiver;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.telephony.TelephonyManager;
importandroid.util.Log;
publicclassPhoneStateBroadCastReceiverextendsBroadcastReceiver
{
privatestaticfinalStringTAG="PhoneStateBroadCastReceiver";
privatestaticbooleanmIncomingFlag=false;
privatestaticStringmIncomingNumber=null;
@Override
publicvoidonReceive(Contextcontext,Intentintent)
{
//如果是拨打电话
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL))
{
mIncomingFlag=false;
StringphoneNumber=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i(TAG,"callOUT:"+phoneNumber);
}else
{
//如果是来电
TelephonyManagertManager=
(TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
switch(tManager.getCallState())
{
caseTelephonyManager.CALL_STATE_RINGING:
mIncomingNumber=intent.getStringExtra("incoming_number");
Log.i(TAG,"RINGING:"+mIncomingNumber);
break;
caseTelephonyManager.CALL_STATE_OFFHOOK:
if(mIncomingFlag)
{
Log.i(TAG,"incomingACCEPT:"+mIncomingNumber);
}
break;
caseTelephonyManager.CALL_STATE_IDLE:
if(mIncomingFlag)
{
Log.i(TAG,"incomingIDLE");
}
break;
}
}
}
}
第二步:在AndroidManifest.xml,配置写好的Receiver,并拦截相应的BroadCastAction,
另外注意加上相应的权限
<receiverandroid:name=".broadcase.PhoneStateBroadCastReceiver"> <intent-filter> <actionandroid:name="android.intent.action.PHONE_STATE"/> <actionandroid:name="android.intent.action.NEW_OUTGOING_CALL"/> </intent-filter> </receiver> <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/> <uses-permissionandroid:name="android.permission.PROCESS_OUTGOING_CALLS"/>
PS:这里再为大家提供一个关于AndroidManifest.xml权限控制的在线查询工具:
AndroidManifest功能与权限描述大全:
http://tools.jb51.net/table/AndroidManifest
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android短信与电话操作技巧汇总》、《Android操作SQLite数据库技巧总结》、《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。