电话监听
来源:互联网 发布:钱宝软件下载 编辑:程序博客网 时间:2024/04/30 08:33
一、来电监听
1、成员变量:
private PhoneStateListener listener;private TelephonyManager tm;
2、注册电话状态监听代码:
// 注册电话监听// 通过电话管理类TelephoneManagertm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);// 监听电话的状态listener = new PhoneStateListener() { /* * (non-Javadoc) 该方法用来监听电话的状态 * * @see android.telephony.PhoneStateListener#onCallStateChanged(int, * java.lang.String) */ @Override public void onCallStateChanged(int state, final String incomingNumber) { // TODO Auto-generated method stub // state 电话的状态 incomingNumber 打进来的号码 switch (state) { case TelephonyManager.CALL_STATE_IDLE:// 挂断的状态,空闲的状态 System.out.println("CALL_STATE_IDLE"); break; case TelephonyManager.CALL_STATE_RINGING://响铃状态 System.out.println("CALL_STATE_RINGING"); break; case TelephonyManager.CALL_STATE_OFFHOOK:// 通话的状态 System.out.println("CALL_STATE_OFFHOOK"); break; default: break; } super.onCallStateChanged(state, incomingNumber); }}// 注册电话的监听tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
3、取消电话状态监听代码:
@Overridepublic void onDestroy() { // 取消电话状态监听 tm.listen(listener, PhoneStateListener.LISTEN_NONE);}
二、外拨监听
TelephonyManager只能监听”来电响铃”、”空闲”、及”接通电话”状态,不能监听外拨状态,需要使用广播接收者才能监听外拨。
注意:TelephonyManager不管是来电还是外拨,”接通电话”状态都会被回调。
1、外拨电话的广播的实现
/** * @author Administrator * 外拨电话的广播 */private class OutCallReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { isOutCall = true;//记录是外拨电话 //获取外拨的电话号码 String phoneNumber = getResultData(); showLocationToast(phoneNumber);//显示外拨电话的土司 }}
2、注册外拨广播接收者
private OutCallReceiver outCallReceiver;@Overridepublic void onCreate() { //监控外拨 注册广播 outCallReceiver = new OutCallReceiver(); IntentFilter filter = new IntentFilter("android.intent.action.NEW_OUTGOING_CALL"); //注册外拨电话广播 registerReceiver(outCallReceiver, filter);}
3、取消外拨广播接收者
@Overridepublic void onDestroy() { //监控外拨 取消注册广播 unregisterReceiver(outCallReceiver); super.onDestroy();}
4、清单文件中添加权限
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
0 0
- 电话监听
- 监听电话
- 电话监听
- 电话监听
- Android 电话监听
- Ohone/android 监听电话
- 监听用户电话状态
- asterisk 电话监听ChanSpy()
- iPhone电话事件监听
- android 之电话监听
- Android-电话监听工具
- android 实现监听电话
- 拨出电话监听
- Android监听电话状态
- android 监听电话状态
- 如何监听电话
- android 监听电话状态
- 监听外拨电话
- Swift2-0基础_Properties(属性)
- 建立SpringMvc的Demo
- jquery相关
- Swift2-0基础_Methods(方法)
- ubuntu 14.04安装vmware-tools
- 电话监听
- DICOM的常用Tag分类和说明
- Swift2-0基础_Subscripts(下标脚本)
- Swift2-0基础_Inheritance(继承)
- C++中以bool作返回值的函数的常见错误
- maxout简单理解
- eclipse svn使用小记
- redis总结
- jQuery学习笔记一——jQuery中与JavaScript的语法区别