The telephony framework reports cellular network signal strength using various signal measurement types. You can then use these reported signal strengths to control how signal bars are displayed on your device and customize the signal strength reporting criteria from the modem. Starting from Android 11, you can customize multiple signal measurement types that the framework uses to report the signal strength of 4G LTE and 5G NR radio access networks (RANs).
The framework uses three functions for reporting signal strength: signal strength reporting criteria, signal strength thresholds, and signal levels. These functions affect how Android communicates with the modem hardware, for example, preventing unnecessary signal strength reporting by the modem to reduce power usage and improve system health. The functions are defined as:
- Signal strength reporting criteria: The conditions defined by Android to trigger signal strength reporting from the modem.
- Signal strength thresholds: A list of four integers used for suggesting signal level and signal strength reporting criteria.
- Signal levels: Five levels (
NONE
,POOR
,MODERATE
,GOOD
,GREAT
) that correspond to signal strength.
Support for multiple signal measurement types
For devices running Android 11 or higher, the following signal measurement types are customizable for NGRAN (5G LTE) and EUTRAN (4G LTE) networks. These measurements are used for the signal strength reporting criteria, signal strength thresholds, and signal levels functions.
- NGRAN (5G NR): SSRSRP, SSRSRQ, SSSINR
- EUTRAN (4G LTE): RSRP, RSRQ, RSSNR
Implementation
To enable the device to set the signal strength reporting criteria for each RAN,
implement the
setSignalStrengthReportingCriteria_1_5
hardware interface. For each RAN, multiple signal measurement types are
supported. If none of the reporting criteria for a measurement type is enabled
for a RAN, the reporting criteria for that RAN is defined by the Android
framework. When the reporting criteria of a measurement type is enabled for a
RAN, the reporting criteria of other measurement types are disabled.
To define the signal strength thresholds for 4G and 5G networks, use the following carrier config keys:
KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY
KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY
KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY
KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY
KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY
To select multiple measurements for a RAN, use the following carrier config keys:
Validation
To validate your implementation, use the
testGetConfig
CTS test in
CarrierConfigManagerTest
.
Use VTS for testing
setSignalStrengthReportingCriteria_1_5_*
.