教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

android实现自动接听和挂断电话

来源:网络收集 时间:2026-04-07
导读: 简单的实现接听和挂断电话的源代码 Android实现自动接听和挂掉电话源代码 简单的实现接听和挂断电话的源代码 Method getITelephonyMethod = telMgr.getClass ) ( .getDeclaredMethod (getITelephony) ; getITelephonyMethod.setAccessible(true) ;//私有化函

简单的实现接听和挂断电话的源代码

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字,全部文档内容请下载后查看。喜欢就下载吧 ……
android实现自动接听和挂断电话.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1417369.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)