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 接听和挂断实现方式
  2. 在Android中根据联系人查询电话号码
  3. 如何解决App无法收到android开机广播
  4. android 呼入电话的监听(来电监听)
  5. android api 完整翻译之Contacts Provider (学习安卓必知的api,中
  6. android 呼出电话的监听(去电监听)
  7. Android(安卓)slidingmenu详细解释 滑动的优化
  8. android 呼入电话的监听(来电监听)
  9. Android监听消息通知栏点击事件

随机推荐

  1. Android5.0新特性——阴影和剪裁(shadow)
  2. Android中的转屏流程
  3. Android(安卓)UI卡顿面试知识小结
  4. 记一次android 在ipv6访问变慢的解决过程
  5. 深入探索 Android(安卓)电量优化
  6. Android,java,xml,xml读取与保存,基于And
  7. Android关于Dex拆分(MultiDex)技术详解
  8. [Android]Google Maps的申請、設定與使用
  9. 【Android】requestDisallowInterceptTou
  10. Android(安卓)平台侧性能优化之应用启动[