android 呼出电话的监听(去电监听)
16lz
2021-01-23
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);}}
更多相关文章
- Android Studio中设置ButterKnife、android butterknife zelezny
- android 自定义attr 详解
- Android中自定义Dialog外形,去除黑底和白色边框
- android 呼入电话的监听(来电监听)
- Android 在xml布局配置文件中给Button按钮添加事件
- 疯狂android讲义学习总结---各种按钮的制作
- android 拖动图片/拖动浮动按钮
- android 使用xml定义自己的View
- 自定义android RadioButton样式