NetworkRegistrationInfo


public final class NetworkRegistrationInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.telephony.NetworkRegistrationInfo


Description of a mobile network registration info

Summary

Constants

int DOMAIN_CS

Circuit switched domain

int DOMAIN_CS_PS

Applicable to both CS and PS Domain

int DOMAIN_PS

Packet switched domain

int DOMAIN_UNKNOWN

Unknown / Unspecified domain

int NR_STATE_CONNECTED

The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and also connected to at least one 5G cell as a secondary serving cell.

int NR_STATE_NONE

The device isn't camped on an LTE cell or the LTE cell doesn't support E-UTRA-NR Dual Connectivity(EN-DC).

int NR_STATE_NOT_RESTRICTED

The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and both the use of dual connectivity with NR(DCNR) is not restricted and NR is supported by the selected PLMN.

int NR_STATE_RESTRICTED

The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) but either the use of dual connectivity with NR(DCNR) is restricted or NR is not supported by the selected PLMN.

int SERVICE_TYPE_DATA

Data service

int SERVICE_TYPE_EMERGENCY

Emergency service

int SERVICE_TYPE_MMS

MMS service

int SERVICE_TYPE_SMS

SMS service

int SERVICE_TYPE_UNKNOWN

Unknown service

int SERVICE_TYPE_VIDEO

Video service

int SERVICE_TYPE_VOICE

Voice service

Inherited constants

Fields

public static final Creator<NetworkRegistrationInfo> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

boolean equals(Object o)

Indicates whether some other object is "equal to" this one.

int getAccessNetworkTechnology()
List<Integer> getAvailableServices()
CellIdentity getCellIdentity()

Require Manifest.permission.ACCESS_FINE_LOCATION, otherwise return null.

int getDomain()
String getRegisteredPlmn()

Get the PLMN-ID for this Network Registration, also known as the RPLMN.

int getRejectCause()

Get the 3GPP/3GPP2 reason code indicating why registration failed.

int getTransportType()
int hashCode()

Returns a hash code value for the object.

boolean isNetworkRegistered()
boolean isNetworkRoaming()
boolean isNetworkSearching()
boolean isNonTerrestrialNetwork()

Get whether the network is a non-terrestrial network.

boolean isRegistered()

This method was deprecated in API level 34. Use isNetworkRegistered(), which is not affected by any carrier config or resource overlay, instead.

boolean isRoaming()

This method was deprecated in API level 34. Use TelephonyDisplayInfo.isRoaming instead.

boolean isSearching()

This method was deprecated in API level 34. Use isNetworkRegistered(), which is not affected by any carrier config or resource overlay, instead.

String toString()

Returns a string representation of the object.

Inherited methods

Constants

DOMAIN_CS

Added in API level 30
public static final int DOMAIN_CS

Circuit switched domain

Constant Value: 1 (0x00000001)

DOMAIN_CS_PS

Added in API level 30
public static final int DOMAIN_CS_PS

Applicable to both CS and PS Domain

Constant Value: 3 (0x00000003)

DOMAIN_PS

Added in API level 30
public static final int DOMAIN_PS

Packet switched domain

Constant Value: 2 (0x00000002)

DOMAIN_UNKNOWN

Added in API level 30
public static final int DOMAIN_UNKNOWN

Unknown / Unspecified domain

Constant Value: 0 (0x00000000)

NR_STATE_CONNECTED

Added in API level 30
public static final int NR_STATE_CONNECTED

The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and also connected to at least one 5G cell as a secondary serving cell.

Constant Value: 3 (0x00000003)

NR_STATE_NONE

Added in API level 30
public static final int NR_STATE_NONE

The device isn't camped on an LTE cell or the LTE cell doesn't support E-UTRA-NR Dual Connectivity(EN-DC).

Constant Value: 0 (0x00000000)

NR_STATE_NOT_RESTRICTED

Added in API level 30
public static final int NR_STATE_NOT_RESTRICTED

The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and both the use of dual connectivity with NR(DCNR) is not restricted and NR is supported by the selected PLMN.

Constant Value: 2 (0x00000002)

NR_STATE_RESTRICTED

Added in API level 30
public static final int NR_STATE_RESTRICTED

The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) but either the use of dual connectivity with NR(DCNR) is restricted or NR is not supported by the selected PLMN.

Constant Value: 1 (0x00000001)

SERVICE_TYPE_DATA

Added in API level 30
public static final int SERVICE_TYPE_DATA

Data service

Constant Value: 2 (0x00000002)

SERVICE_TYPE_EMERGENCY

Added in API level 30
public static final int SERVICE_TYPE_EMERGENCY

Emergency service

Constant Value: 5 (0x00000005)

SERVICE_TYPE_MMS

Added in API level 35
public static final int SERVICE_TYPE_MMS

MMS service

Constant Value: 6 (0x00000006)

SERVICE_TYPE_SMS

Added in API level 30
public static final int SERVICE_TYPE_SMS

SMS service

Constant Value: 3 (0x00000003)

SERVICE_TYPE_UNKNOWN

Added in API level 30
public static final int SERVICE_TYPE_UNKNOWN

Unknown service

Constant Value: 0 (0x00000000)

SERVICE_TYPE_VIDEO

Added in API level 30
public static final int SERVICE_TYPE_VIDEO

Video service

Constant Value: 4 (0x00000004)

SERVICE_TYPE_VOICE

Added in API level 30
public static final int SERVICE_TYPE_VOICE

Voice service

Constant Value: 1 (0x00000001)

Fields

CREATOR

Added in API level 30
public static final Creator<NetworkRegistrationInfo> CREATOR

Public methods

describeContents

Added in API level 30
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 30
public boolean equals (Object o)

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o Object: This value may be null.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getAccessNetworkTechnology

Added in API level 30
public int getAccessNetworkTechnology ()

Returns
int The access network technology network type.. Value is TelephonyManager.NETWORK_TYPE_UNKNOWN, TelephonyManager.NETWORK_TYPE_GPRS, TelephonyManager.NETWORK_TYPE_EDGE, TelephonyManager.NETWORK_TYPE_UMTS, TelephonyManager.NETWORK_TYPE_CDMA, TelephonyManager.NETWORK_TYPE_EVDO_0, TelephonyManager.NETWORK_TYPE_EVDO_A, TelephonyManager.NETWORK_TYPE_1xRTT, TelephonyManager.NETWORK_TYPE_HSDPA, TelephonyManager.NETWORK_TYPE_HSUPA, TelephonyManager.NETWORK_TYPE_HSPA, TelephonyManager.NETWORK_TYPE_IDEN, TelephonyManager.NETWORK_TYPE_EVDO_B, TelephonyManager.NETWORK_TYPE_LTE, TelephonyManager.NETWORK_TYPE_EHRPD, TelephonyManager.NETWORK_TYPE_HSPAP, TelephonyManager.NETWORK_TYPE_GSM, TelephonyManager.NETWORK_TYPE_TD_SCDMA, TelephonyManager.NETWORK_TYPE_IWLAN, or TelephonyManager.NETWORK_TYPE_NR

getAvailableServices

Added in API level 30
public List<Integer> getAvailableServices ()

Returns
List<Integer> List of available service types. This value cannot be null. Value is SERVICE_TYPE_UNKNOWN, SERVICE_TYPE_VOICE, SERVICE_TYPE_DATA, SERVICE_TYPE_SMS, SERVICE_TYPE_VIDEO, SERVICE_TYPE_EMERGENCY, or SERVICE_TYPE_MMS

getCellIdentity

Added in API level 30
public CellIdentity getCellIdentity ()

Require Manifest.permission.ACCESS_FINE_LOCATION, otherwise return null.

Returns
CellIdentity The cell information.

getDomain

Added in API level 30
public int getDomain ()

Returns
int The network domain. Value is DOMAIN_UNKNOWN, DOMAIN_CS, DOMAIN_PS, or DOMAIN_CS_PS

getRegisteredPlmn

Added in API level 30
public String getRegisteredPlmn ()

Get the PLMN-ID for this Network Registration, also known as the RPLMN.

If the device is registered, this will return the registered PLMN-ID. If registration has failed, then this will return the PLMN ID of the last attempted registration. If the device is not registered, or if is registered to a non-3GPP radio technology, then this will return null.

See 3GPP TS 23.122 for further information about the Registered PLMN.

Returns
String the registered PLMN-ID or null.

getRejectCause

Added in API level 35
public int getRejectCause ()

Get the 3GPP/3GPP2 reason code indicating why registration failed. Returns the reason code for non-transient registration failures. Typically this method will only return the last reason code received during a network selection procedure. The reason code is system-specific; however, the reason codes for both 3GPP and 3GPP2 systems are largely equivalent across generations.

Returns
int registration reject cause if available, otherwise 0. Depending on getAccessNetworkTechnology(), the values are defined in 3GPP TS 24.008 10.5.3.6 for WCDMA/UMTS, 3GPP TS 24.301 9.9.3.9 for LTE/EPS, 3GPP 24.501 Annex A for NR/5GS, or 3GPP2 A.S0001 6.2.2.44 for CDMA.

getTransportType

Added in API level 30
public int getTransportType ()

Returns
int The transport type. Value is android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_INVALID, AccessNetworkConstants.TRANSPORT_TYPE_WWAN, or AccessNetworkConstants.TRANSPORT_TYPE_WLAN

hashCode

Added in API level 30
public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

Returns
int a hash code value for this object.

isNetworkRegistered

Added in API level 34
public boolean isNetworkRegistered ()

Returns
boolean true if registered on roaming or home network, false otherwise. (This value is not affected by any carrier config or resource overlay override).

isNetworkRoaming

Added in API level 34
public boolean isNetworkRoaming ()

Returns
boolean true if registered on roaming network. (This value is not affected by any carrier config or resource overlay override).

isNetworkSearching

Added in API level 34
public boolean isNetworkSearching ()

Returns
boolean true if searching for service, false otherwise. (This value is not affected by any carrier config or resource overlay override).

isNonTerrestrialNetwork

Added in API level 35
public boolean isNonTerrestrialNetwork ()

Get whether the network is a non-terrestrial network.

Returns
boolean true if network is a non-terrestrial network else false.

isRegistered

Added in API level 30
Deprecated in API level 34
public boolean isRegistered ()

This method was deprecated in API level 34.
Use isNetworkRegistered(), which is not affected by any carrier config or resource overlay, instead.

Returns
boolean true if registered on roaming or home network. Note this value can be affected by the carrier config override.

isRoaming

Added in API level 30
Deprecated in API level 34
public boolean isRoaming ()

This method was deprecated in API level 34.
Use TelephonyDisplayInfo.isRoaming instead.

Returns
boolean true if registered on roaming network overridden by config. Note this value can be affected by the carrier config override.

isSearching

Added in API level 30
Deprecated in API level 34
public boolean isSearching ()

This method was deprecated in API level 34.
Use isNetworkRegistered(), which is not affected by any carrier config or resource overlay, instead.

Returns
boolean true if searching for service, false otherwise.

toString

Added in API level 30
public String toString ()

Returns a string representation of the object.

Returns
String This value cannot be null.