Android中如何监听通话


这篇“Android中如何监听通话”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android中如何监听通话”文章吧。TelephonyManager作为一个Service接口提供给用户查询电话相关的内容,比如IMEI,LineNumber1等。通过下面的代码即可获得TelephonyManager的实例。在Android平台中,PhoneStateListener是个很有用的监听器,用来监听电话的状态,比如呼叫状态和连接服务等。Android监听通话方法如下所示:publicvoidonCallForwardingIndicatorChanged(booleancfi)publicvoidonCallStateChanged(intstate,
StringincomingNumber)publicvoidonCellLocationChanged(CellLocationlocation)publicvoidonDataActivity(intdirection)publicvoidonDataConnectionStateChanged(intstate)publicvoidonMessageWaitingIndicatorChanged(booleanmwi)publicvoidonServiceStateChanged
(ServiceStateserviceState)publicvoidonSignalStrengthChanged(intasu)这里我们只需要覆盖onCallStateChanged()方法即可监听呼叫状态。在TelephonyManager中定义了三种状态,分别是振铃(RINGING),摘机(OFFHOOK)和空闲(IDLE),我们通过state的值就知道现在的电话状态了。获得了TelephonyManager接口之后,调用listen()方法即可实现Android监听通话。下面是个简单的测试例子,只是把呼叫状态追加到TextView之上。packagecom.j2medev;importandroid.app.Activity;importandroid.content.Context;importandroid.os.Bundle;importandroid.telephony.PhoneStateListener;importandroid.telephony.TelephonyManager;importandroid.util.Log;importandroid.widget.TextView;publicclassTelephonyextendsActivity{privatestaticfinalStringTAG=”Telephony”;TextViewview=null;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);TelephonyManagermTelephonyMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);mTelephonyMgr.listen(newTeleListener(),PhoneStateListener.LISTEN_CALL_STATE);view=newTextView(this);view.setText(“listenthestateofphonen”);setContentView(view);}class免费云主机域名TeleListenerextendsPhoneStateListener{@OverridepublicvoidonCallStateChanged(intstate,
StringincomingNumber){super.onCallStateChanged(state,incomingNumber);switch(state){caseTelephonyManager.CALL_STATE_IDLE:{Log.e(TAG,”CALL_STATE_IDLE”);view.append(“CALL_STATE_IDLE”+”n”);break;}caseTelephonyManager.CALL_STATE_OFFHOOK:{Log.e(TAG,”CALL_STATE_OFFHOOK”);view.append(“CALL_STATE_OFFHOOK”+”n”);break;}caseTelephonyManager.CALL_STATE_RINGING:{Log.e(TAG,”CALL_STATE_RINGING”);view.append(“CALL_STATE_RINGING”+”n”);break;}default:break;}}}}不要忘记在AndroidManifest.xml里面添加个permission.”android.permission.READ_PHONE_STATE”/>以上就是关于“Android中如何监听通话”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: 怎么使用Node.js的内置模块event实现发布订阅模式

这篇文章主要介绍了怎么使用Node.js的内置模块event实现发布订阅模式的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Node.js的内置模块event实现发布订阅模式文章都会有所收获,下面我们一起来看看吧。引入eve…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/20 19:30
下一篇 04/20 19:48

相关推荐