Android监听来电和去电的实现方法
16lz
2022-05-21
本文实例讲述了Android监听来电和去电的实现方法。分享给大家供大家参考,具体如下:
要监听android打电话和接电话,只需下面2步骤
第一步,写一个Receiver继承自BroadcastReceiver
import android.app.Service;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.telephony.TelephonyManager;import android.util.Log;public class PhoneStateBroadCastReceiver extends BroadcastReceiver{ private static final String TAG = "PhoneStateBroadCastReceiver"; private static boolean mIncomingFlag = false; private static String mIncomingNumber = null; @Override public void onReceive(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()) { case TelephonyManager.CALL_STATE_RINGING: mIncomingNumber = intent.getStringExtra("incoming_number"); Log.i(TAG, "RINGING :" + mIncomingNumber); break; case TelephonyManager.CALL_STATE_OFFHOOK: if (mIncomingFlag) { Log.i(TAG, "incoming ACCEPT :" + mIncomingNumber); } break; case TelephonyManager.CALL_STATE_IDLE: if (mIncomingFlag) { Log.i(TAG, "incoming IDLE"); } break; } } }}
第二步:在AndroidManifest.xml,配置写好的Receiver,并拦截相应的BroadCastAction,
另外注意加上相应的权限
PS:这里再为大家提供一个关于AndroidManifest.xml权限控制的在线查询工具:
Android Manifest功能与权限描述大全:
http://tools.jb51.net/table/AndroidManifest
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android短信与电话操作技巧汇总》、《Android操作SQLite数据库技巧总结》、《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
更多相关文章
- Android-基本控件(SeekBar 可拖动 滚动条的使用)
- Android(安卓)系统启动时自启动一个app
- android面试-面试知识点总结
- Android系统权限和root权限
- cocos2d-x编译到android平台后,增加返回键和菜单键支持
- android判断是否禁用了录音权限
- Android开机广播和关机广播
- Android重写OnTouchListener实现双击事件的监听
- Android实现TextView部分文本监听单击事件