Network Data and Metrics
isSmsCapable
Returns Future<bool>
Checks if the device has necessary features to send and receive SMS.
bool isSmsCapable = await telephony.isSmsCapable;
cellularDataState
Returns Future<DataState>
Returns a constant indicating the current data connection state (cellular).
DataState state = await telephony.cellularDataState;
callState
Returns Future<CallState>
Returns a constant that represents the current state of all phone calls.
CallState state = await telephony.callState;
dataActivity
Returns Future<DataActivity>
Returns a constant indicating the type of activity on a data connection (cellular).
DataActivity activity = await telephony.dataActivity;
networkOperator
Returns Future<String>
Returns the numeric name (MCC+MNC) of current registered operator.
Availability: Only when user is registered to a network.
Result may be unreliable on CDMA networks (use phoneType to determine if on a CDMA network).
String networkOperator = await telephony.networkOperator;
networkOperatorName
Returns Future<String>
Returns the alphabetic name of current registered operator.
Availability: Only when user is registered to a network.
Result may be unreliable on CDMA networks (use phoneType to determine if on a CDMA network).
String operatorName = await telephony.networkOperatorName;
dataNetworkType
Returns Future<NetworkType>
Requires READ_PHONE_STATE
permission.
Add the following in your AndroidManifest.xml
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Returns a constant indicating the radio technology (network type) currently in use on the device for data transmission.
NetworkType type = await telephony.dataNetworkType;
phoneType
Returns Future<PhoneType>
Returns a constant indicating the device phone type. This indicates the type of radio used to transmit voice calls.
PhoneType type = await telephony.phoneType;
simOperator
Returns Future<String>
Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits.
Availability: SimState must be SIM_STATE_READY
String simOperator = await telephony.simOperator;
simOperatorName
Returns Future<String>
Returns the Service Provider Name (SPN).
Availability: SimState must be SIM_STATE_READY
String simOperatorName = await telephony.simOperatorName;
simState
Returns Future<SimState>
Returns a constant indicating the state of the default SIM card.
SimState state = await telephony.simState;
isNetworkRoaming
Returns Future<bool>
Returns true if the device is considered roaming on the current network, for GSM purposes.
Availability: Only when user registered to a network.
bool isNetworkRoaming = await telephony.isNetworkRoaming;
signalStrengths
Returns Future<List<SignalStrength>>
Requires Android build version 29 --> Android Q
Returns a List of SignalStrength or an empty List if there are no valid measurements.
List<SignalStrength> strenghts = await telephony.signalStrengths;
serviceState
Returns Future<ServiceState>
Requires Android build version 26 --> Android O
Requires permissions ACCESS_COARSE_LOCATION
and READ_PHONE_STATE
Add the following in your AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Returns current voice service state.
ServiceState state = await telephony.serviceState;
DataState
Values
DISCONNECTED
CONNECTING
CONNECTED
SUSPENDED
UNKNOWN
CallState
Values
IDLE
RINGING
OFFHOOK
DataActivity
Values
NONE
IN
OUT
INOUT
DORMANT
NetworkType
Values
UNKNOWN
GPRS
EDGE
UMTS
CDMA
EVDO_0
EVDO_A
TYPE_1xRTT
HSDPA
HSUPA
HSPA
IDEN
EVDO_B
LTE
EHRPD
HSPAP
GSM
TD_SCDMA
IWLAN
LTE_CA
NR
PhoneType
Values
NONE
GSM
CDMS
SIP
SimState
Values
UNKNOWN
ABSENT
PIN_REQUIRED
PUK_REQUIRED
NETWORK_LOCKED
READY
NOT_READY
PERM_DISABLED
CARD_IO_ERROR
CARD_RESTRICTED
LOADED
PRESENT
SignalStrength
Values
NONE_OR_UNKNOWN
POOR
MODERATE
GOOD
GREAT
ServiceState
Values
IN_SERVICE
OUT_OF_SERVICE
EMERGENCY_ONLY
POWER_OFF
Last updated
Was this helpful?