实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener。
TelephonseManger提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。应用程序可以注册listener来监听电话状态的改变。我们不能对TelephonyManager进行实例化,只能通过获取服务的形式:
Context.getSystemService(Context.TELEPHONY_SERVICE);
注意:对手机的某些信息进行读取是需要一定许可(permission)的。
主要静态成员常量:(它们对应PhoneStateListener.LISTEN_CALL_STATE所监听到的内容)
int CALL_STATE_IDLE 空闲状态,没有任何活动。
int CALL_STATE_OFFHOOK 摘机状态,至少有个电话活动。该活动或是拨打(dialing)或是通话,或是 on hold。并且没有电话是ringing or waiting
int CALL_STATE_RINGING 来电状态,电话铃声响起的那段时间或正在通话又来新电,新来电话不得不等待的那段时间。
手机通话状态在广播中的对应值
EXTRA_STATE_IDLE 它在手机通话状态改变的广播中,用于表示CALL_STATE_IDLE状态
EXTRA_STATE_OFFHOOK 它在手机通话状态改变的广播中,用于表
android电话状态的监听
最新推荐文章于 2024-06-17 21:43:55 发布
本文介绍了如何在Android中实现电话状态的监听,包括利用TelephonyManager和PhoneStateListener类,以及解析ACTION_PHONE_STATE_CHANGED和ACTION_NEW_OUTGOING_CALL广播。详细讲解了监听电话挂断、接听和响铃状态的方法,并提供了PhoneReceiver广播接收器的代码示例。
摘要由CSDN通过智能技术生成