TelephonyManager.Listen(PhoneStateListener, PhoneStateListenerFlags) 方法

定义

注册侦听器对象,以接收指定电话状态中的更改通知。

[Android.Runtime.Register("listen", "(Landroid/telephony/PhoneStateListener;I)V", "GetListen_Landroid_telephony_PhoneStateListener_IHandler")]
public virtual void Listen (Android.Telephony.PhoneStateListener? listener, Android.Telephony.PhoneStateListenerFlags events);
[<Android.Runtime.Register("listen", "(Landroid/telephony/PhoneStateListener;I)V", "GetListen_Landroid_telephony_PhoneStateListener_IHandler")>]
abstract member Listen : Android.Telephony.PhoneStateListener * Android.Telephony.PhoneStateListenerFlags -> unit
override this.Listen : Android.Telephony.PhoneStateListener * Android.Telephony.PhoneStateListenerFlags -> unit

参数

listener
PhoneStateListener

PhoneStateListener要注册的对象(或注销)

events
PhoneStateListenerFlags

侦听器感兴趣的电话状态,作为LISTEN_标志的 PhoneStateListener 按位 OR 组合。

属性

注解

注册侦听器对象,以接收指定电话状态中的更改通知。

若要注册侦听器,请传递 PhoneStateListener 并指定事件参数中至少一个感兴趣的电话状态。

在注册时,当指定的电话状态发生更改时,电话管理器会在侦听器对象上调用适当的回调方法,并传递当前的(已更新)值。

若要取消注册侦听器,请传递侦听器对象并将事件参数设置为 PhoneStateListener#LISTEN_NONE LISTEN_NONE (0)。

如果已使用此 #createForSubscriptionIdTelephonyManager 对象创建,则适用于给定的 subId。 否则,适用于 SubscriptionManager#getDefaultSubscriptionId(). 若要侦听多个 subId 的事件,请将单独的侦听器对象传递给创建 #createForSubscriptionId的每个 TelephonyManager 对象。

注意:如果在绑定器事务中间调用此方法,则在调用此方法之前,必须<></b> 调用android.os.Binder#clearCallingIdentity()此方法。 否则将引发 A SecurityException

应谨慎使用此 API - 大量侦听器将导致系统不稳定。 如果进程注册了过多的侦听器而不注销它们,则尝试注册更多侦听器时可能会遇到 IllegalStateException 错误。

此成员已弃用。 使用 #registerTelephonyCallback(Executor, TelephonyCallback)

适用于 . 的 android.telephony.TelephonyManager.listen(android.telephony.PhoneStateListener, int)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于