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

Android广播接实现电话的监听

1:需要在AndroidManifest.xml清单中添加权限

2:注册广播 要注意事件的级别 (android中的级别-1000~1000)

详细配置请看 AndroidManifest.xml

package="com.zyw.broadcastsendsms"android:versionCode="1"android:versionName="1.0" >

android:minSdkVersion="8"android:targetSdkVersion="15" />

android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" >

android:name=".SendSMS"android:label="@string/title_activity_send_sms" >

3:编写广播的实现类 这里需要继承BroadcastReceiver 实现onReceive()方法

程序的源代码如下:

packagecom.zyw.broadcastsendsms;importandroid.app.Service;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.telephony.TelephonyManager;importandroid.util.Log;public class PhoneBroadcastReceiver extendsBroadcastReceiver {private static final String TAG = "message";private static boolean mIncomingFlag = false;private static String mIncomingNumber = null;

@Overridepublic voidonReceive(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()) {caseTelephonyManager.CALL_STATE_RINGING:

mIncomingNumber= intent.getStringExtra("incoming_number");

Log.i(TAG,"RINGING :" +mIncomingNumber);break;caseTelephonyManager.CALL_STATE_OFFHOOK:if(mIncomingFlag) {

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

}break;caseTelephonyManager.CALL_STATE_IDLE:if(mIncomingFlag) {

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

}break;

}

}

}/*@Override

public void onReceive(Context context, Intent intent) {

String number = getResultData();

if("5556".equals(number)){

setResultData(null);//挂断

}else{

number = "12593"+ number; //其他,则加区号

setResultData(number);

}

}*/}

原文:http://www.cnblogs.com/flyoung/p/4929807.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值