public class PhoneStateListener
extends Object
java.lang.Object | |
↳ | android.telephony.PhoneStateListener |
监听器类,用于监视设备上特定电话状态的变化,包括服务状态,信号强度,消息等待指示符(语音邮件)等。
覆盖您希望接收更新的状态的方法,并将您的PhoneStateListener对象以及按位或LISTEN_标志传递给 TelephonyManager.listen()
。
请注意,对某些电话信息的访问权限受到保护。 您的应用程序不会接收受保护信息的更新,除非它的清单文件中声明了相应的权限。 在适用权限的地方,它们会在相应的LISTEN_标志中标出。
Constants |
|
---|---|
int |
LISTEN_CALL_FORWARDING_INDICATOR 监听呼叫转接指示符的更改。 |
int |
LISTEN_CALL_STATE 监听设备调用状态的更改。 |
int |
LISTEN_CELL_INFO 听取对观察到的细胞信息的更改。 |
int |
LISTEN_CELL_LOCATION 监听设备单元位置的更改。 请注意,这将导致对听众的频繁回调。 |
int |
LISTEN_DATA_ACTIVITY 监听数据连接(蜂窝)上数据通信方向的更改。 |
int |
LISTEN_DATA_CONNECTION_STATE 监听数据连接状态(蜂窝)的更改。 |
int |
LISTEN_MESSAGE_WAITING_INDICATOR 监听留言待取指示器的更改。 |
int |
LISTEN_NONE 停止收听更新。 |
int |
LISTEN_SERVICE_STATE 监听网络服务状态(蜂窝)的更改。 |
int |
LISTEN_SIGNAL_STRENGTH 此常数在API级别7中已弃用,达到 |
int |
LISTEN_SIGNAL_STRENGTHS 监听网络信号强度(蜂窝)的变化。 |
Public constructors |
|
---|---|
PhoneStateListener() 使用默认订阅为电话创建PhoneStateListener。 |
Public methods |
|
---|---|
void |
onCallForwardingIndicatorChanged(boolean cfi) 当呼叫转移指示符改变时调用回调。 |
void |
onCallStateChanged(int state, String incomingNumber) 设备调用状态改变时调用回调。 |
void |
onCellInfoChanged(List<CellInfo> cellInfo) 当观察到的单元格信息发生变化或添加或删除新单元格时调用回调。 |
void |
onCellLocationChanged(CellLocation location) 设备单元位置更改时调用的回调。 |
void |
onDataActivity(int direction) 当数据活动状态改变时调用回调。 |
void |
onDataConnectionStateChanged(int state, int networkType) 与上面相同,但与网络类型相同。 |
void |
onDataConnectionStateChanged(int state) 当连接状态改变时调用回调。 |
void |
onMessageWaitingIndicatorChanged(boolean mwi) 当消息等待指示符改变时调用回调。 |
void |
onServiceStateChanged(ServiceState serviceState) 设备服务状态更改时调用回调。 |
void |
onSignalStrengthChanged(int asu) 此方法在API级别5中已弃用。请使用 |
void |
onSignalStrengthsChanged(SignalStrength signalStrength) 网络信号强度发生变化时调用回调。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int LISTEN_CALL_FORWARDING_INDICATOR
监听呼叫转接指示符的更改。
需要许可: READ_PHONE_STATE
常量值:8(0x00000008)
int LISTEN_CELL_INFO
听取对观察到的细胞信息的更改。
也可以看看:
常量值:1024(0x00000400)
int LISTEN_CELL_LOCATION
监听设备单元位置的更改。 请注意,这将导致对听众的频繁回调。
需要许可: ACCESS_COARSE_LOCATION
如果您需要定期更新位置,但希望更好地控制更新间隔或位置精度,则可以通过 location manager
设置侦听器。
常量值:16(0x00000010)
int LISTEN_DATA_ACTIVITY
监听数据连接(蜂窝)上数据通信方向的更改。
示例:状态栏使用它来显示适当的数据流量图标。
也可以看看:
常量值:128(0x00000080)
int LISTEN_DATA_CONNECTION_STATE
监听数据连接状态(蜂窝)的更改。
常量值:64(0x00000040)
int LISTEN_MESSAGE_WAITING_INDICATOR
监听留言待取指示器的更改。
需要许可: READ_PHONE_STATE
例如:状态栏使用它来确定何时显示语音信箱图标。
常量值:4(0x00000004)
int LISTEN_SERVICE_STATE
监听网络服务状态(蜂窝)的更改。
常数值:1(0x00000001)
int LISTEN_SIGNAL_STRENGTH
该常数在API级别7中已弃用。
由LISTEN_SIGNAL_STRENGTHS
监听网络信号强度(蜂窝)的变化。
需要许可: READ_PHONE_STATE
也可以看看:
常量值:2(0x00000002)
int LISTEN_SIGNAL_STRENGTHS
监听网络信号强度(蜂窝)的变化。
例如:状态栏使用它来控制信号强度图标。
常量值:256(0x00000100)
PhoneStateListener ()
使用默认订阅为电话创建PhoneStateListener。 这个类需要Looper.myLooper()不返回null。
void onCallForwardingIndicatorChanged (boolean cfi)
当呼叫转移指示符改变时调用回调。
Parameters | |
---|---|
cfi |
boolean
|
void onCallStateChanged (int state, String incomingNumber)
设备调用状态改变时调用回调。
Parameters | |
---|---|
state |
int : call state |
incomingNumber |
String : incoming call phone number. If application does not have READ_PHONE_STATE permission, an empty string will be passed as an argument. |
void onCellInfoChanged (List<CellInfo> cellInfo)
当观察到的单元格信息发生变化或添加或删除新单元格时调用回调。
Parameters | |
---|---|
cellInfo |
List : is the list of currently visible cells. |
void onCellLocationChanged (CellLocation location)
设备单元位置更改时调用的回调。
Parameters | |
---|---|
location |
CellLocation
|
void onDataActivity (int direction)
当数据活动状态改变时调用回调。
Parameters | |
---|---|
direction |
int
|
void onDataConnectionStateChanged (int state, int networkType)
与上面相同,但与网络类型相同。 两个都叫。
Parameters | |
---|---|
state |
int
|
networkType |
int
|
void onDataConnectionStateChanged (int state)
当连接状态改变时调用回调。
Parameters | |
---|---|
state |
int
|
void onMessageWaitingIndicatorChanged (boolean mwi)
当消息等待指示符改变时调用回调。
Parameters | |
---|---|
mwi |
boolean
|
void onServiceStateChanged (ServiceState serviceState)
设备服务状态更改时调用回调。
Parameters | |
---|---|
serviceState |
ServiceState
|
void onSignalStrengthChanged (int asu)
此方法在API级别5中已被弃用。
使用onSignalStrengthsChanged(SignalStrength)
当网络信号强度改变时调用回调。
Parameters | |
---|---|
asu |
int
|
void onSignalStrengthsChanged (SignalStrength signalStrength)
网络信号强度发生变化时调用回调。
Parameters | |
---|---|
signalStrength |
SignalStrength
|