android实现自动接听和挂断电话
简单的实现接听和挂断电话的源代码
Android实现自动接听和挂掉电话源代码
简单的实现接听和挂断电话的源代码
Method getITelephonyMethod = telMgr.getClass ) ( .getDeclaredMethod ("getITelephony") ; getITelephonyMethod.setAccessible(true) ;//私有化函数也能使用 return (ITelephony)getITelephonyMethod.invoke(telMgr) ; } static public void printAllInform(Class clsShow) { try { // 取得所有方法 Method[] hideMethod = clsShow.getDeclaredMethods() ; int i = 0; for (; i < hideMethod.length; i++) { Log.e("method name", hideMethod.getName(); ) } // 取得所有常量 Field[] allFields = clsShow.getFields() ; for (i = 0; i < allFields.length; i++) { Log.e("Field name", allFields.getName(); ) } } catch (SecurityException e) { // throw new RuntimeException(e.getMessage(); ) e.printStackTrace() ; } catch (IllegalArgumentException e) { // throw new RuntimeException(e.getMessage(); ) e.printStackTrace() ; } catch (Exception e) { // TOD
O Auto-generated catch block e.printStackTrace() ; } } } 来电操作 testTelephony.java 是主类,使用 PhoneStateListener 监听通话状态,以及实现上述 4 种 电话控制功能,源码如下: package com.testTelephony; import android.app.Activity; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.util.Log; import android.view.View; import android.widget.RadioGroup; import android.widget.ToggleButton; public class testTelephony extends Activity { /** Called when the activity is first created. */ RadioGroup rg;//来电操作单选框
简单的实现接听和挂断电话的源代码
ToggleButton tbtnRadioSwitch;//Radio 开关 ToggleButton tbtnDataConn;//数据连接的开关 TelephonyManager telMgr; CallStateListener stateListner; int checkedId=0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) ; setContentView(http://doc.guandang.netyout.main) ; telMgr= (TelephonyManager)getSystemService(TELEPHONY_SERVICE) ; 100 telMgr.listen(new CallStateListener() CallStateListener.LISTEN_CALL_STATE) , ; PhoneUtils.printAllInform(TelephonyManager.class) ; rg = (RadioGroup)findViewById(R.id.rGrpSelect) ; rg.setOnCheckedChangeListener(new CheckEvent(); ) tbtnRadioSwitch=(ToggleButton)this.findViewById(R.id.tbtnRadioSwitch) ; tbtnRadioSwitch.setOnClickListener(new ClickEvent(); ) try { tbtnRadioSwitch.setChecked(PhoneUtils.getITelephony(telMgr).isRadioOn(); ) } catch (Exception e) { Log.e("error",e.getMessage(); ) } tbtnDataConn=(ToggleButton)this.findViewById(R.id.tbtnDataConn) ; tbtnDataConn.setOnClickListener(new ClickEvent(); ) try { tbtnDataConn.setChecked(PhoneUtils.getITelephony(telMgr).isDataConnectivityPossible (); ) } catch (Exception e) { Log.e("error",e.getMessage(); ) } } /** * 来电时的操作 * @author GV * */ public class CheckEvent implements RadioGroup.OnCheckedChangeListener{ @Override public void onCheckedChanged(RadioGroup group, int checkedId) { testTelephony.this.checkedId=checkedId; } } /** * Radio 和数据连接的开关
简单的实现接听和挂断电话的源代码
* @author GV * */ public class ClickEvent implements View.OnClickListener{ @Override public void onClick(View v) { if (v == tbtnRadioSwitch) { try { PhoneUtils.getITelephony(telMgr).setRadio(tbtnRadioSwitch.isChecked(); ) } catch (Exception e) { Log.e("error", e.getMessage(); ) } } else if(v==tbtnDataConn){ try { if(tbtnDataConn.isChecked() ) PhoneUtils.getITelephony(telMgr).enableDataConnectivity() ; else if(!tbtnDataConn.isChecked() ) PhoneUtils.getITelephony(telMgr).disableDataConnectivity() ; } catch (Exception e) { Log.e("error", e.getMessage(); ) } } } } /** * 监视电话状态 * @author GV * */ public class CallStateListener extends Phon
eStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { if(state==TelephonyManager.CALL_STATE_IDLE)//挂断 { Log.e("IDLE",incomingNumber) ; } else if(state==TelephonyManager.CALL_STATE_OFFHOOK)//接听 { Log.e("OFFHOOK",incomingNumber) ; } else if(state==TelephonyManager.CALL_STATE_RINGING)//来电 { if(testTelephony.this.checkedId==R.id.rbtnAutoAccept)
简单的实现接听和挂断电话的源代码
{ try { //需要<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> PhoneUtils.getITelephony(telMgr).silenceRinger() ;//静铃 PhoneUtils.getITelephony(telMgr).answerRingingCall() ;//自动接听 } catch (Exception e) { Log.e("error",e.getMessage(); ) } } else if(testTelephony.this.checkedId==R.id.rbtnAutoReject) { try { PhoneUtils.getITelephony(telMgr).endCall() ;//挂断 PhoneUtils.getITelephony(telMgr).cancelMissedCallsNotification() ;//取消未接显示 } catch (Exception e) { Log.e("error",e.getMessage(); ) } } } super.onCallStateChanged(state, incomingNumber) ; } } }
…… 此处隐藏:2430字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




