android 呼出电话的监听(去电监听)

权限:

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

通过接收呼出电话的广播来实现

定义广播类

package com.zhouzijing.android.demo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.telephony.TelephonyManager;import android.util.Log;public class BroadcastReceiverMgr extends BroadcastReceiver {private final String TAG = MyBroadcastReceiver.TAG;@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();Log.i(TAG, "[Broadcast]"+action);//呼出电话if(action.equals(MyBroadcastReceiver.B_ACTION_NEW_OUTGOING_CALL)){String outPhoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);Log.i(TAG, "[Broadcast]ACTION_NEW_OUTGOING_CALL:"+outPhoneNumber);//this.setResultData(null);//这里可以更改呼出电话号码。如果设置为null,电话就永远不会播出了.}}}

定义activity类

package com.zhouzijing.android.demo;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import android.util.Log;import android.view.View;public class MyBroadcastReceiver extends Activity {public final static String TAG = "MyBroadcastReceiver";public final static String B_ACTION_NEW_OUTGOING_CALL = Intent.ACTION_NEW_OUTGOING_CALL;private BroadcastReceiverMgr mBroadcastReceiver;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.my_broadcast_receiver);}//按钮1-注册广播public void registerIt(View v) {Log.i(TAG, "registerIt");mBroadcastReceiver = new BroadcastReceiverMgr();IntentFilter intentFilter = new IntentFilter();intentFilter.addAction(Intent.ACTION_NEW_OUTGOING_CALL);intentFilter.setPriority(Integer.MAX_VALUE);registerReceiver(mBroadcastReceiver, intentFilter);}//按钮2-撤销广播public void unregisterIt(View v) {Log.i(TAG, "unregisterIt");unregisterReceiver(mBroadcastReceiver);}}

更多相关文章

  1. Android Studio中设置ButterKnife、android butterknife zelezny
  2. android 自定义attr 详解
  3. Android中自定义Dialog外形,去除黑底和白色边框
  4. android 呼入电话的监听(来电监听)
  5. Android 在xml布局配置文件中给Button按钮添加事件
  6. 疯狂android讲义学习总结---各种按钮的制作
  7. android 拖动图片/拖动浮动按钮
  8. android 使用xml定义自己的View
  9. 自定义android RadioButton样式

随机推荐

  1. Android文字的复制和粘贴
  2. 关于安卓开发实现拖动条和星级评论
  3. 2011.09.20(3)——— android canvas.clipR
  4. 腾讯代理下载Android(安卓)SDK
  5. android反编译
  6. android 瀑布流
  7. Android中全屏无标题设置(Android学习随笔
  8. Android应用程序键盘(Keyboard)消息处理机
  9. Android使用SQLiteDatabase直接存取数据
  10. Android监听应用程序安装和卸载