À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Rapports sur l'intensité du signal
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Le framework de téléphonie indique l'intensité du signal du réseau mobile à l'aide de différents types de mesures du signal. Vous pouvez ensuite utiliser ces niveaux de signal signalés pour contrôler l'affichage des barres de signal sur votre appareil et personnaliser les critères de signalement de l'intensité du signal à partir du modem. À partir d'Android 11, vous pouvez personnaliser plusieurs types de mesures de signal que le framework utilise pour signaler l'intensité du signal des réseaux d'accès radio (RAN) 4G LTE et 5G NR.
Le framework utilise trois fonctions pour signaler l'intensité du signal: les critères de signalement de l'intensité du signal, les seuils d'intensité du signal et les niveaux de signal.
Ces fonctions affectent la façon dont Android communique avec le matériel du modem, par exemple en empêchant le modem de générer des rapports de force de signal inutiles afin de réduire la consommation d'énergie et d'améliorer l'état du système. Les fonctions sont définies comme suit:
- Critères de signalement de l'intensité du signal:conditions définies par Android pour déclencher le signalement de l'intensité du signal à partir du modem.
- Seuils d'intensité du signal:liste de quatre entiers utilisés pour suggérer des critères de création de rapports sur le niveau et l'intensité du signal.
- Niveau du signal:cinq niveaux (
NONE
, POOR
, MODERATE
, GOOD
et GREAT
) qui correspondent à l'intensité du signal.
Compatibilité avec plusieurs types de mesures de signaux
Pour les appareils exécutant Android 11 ou version ultérieure, les types de mesures de signal suivants sont personnalisables pour les réseaux NGRAN (5G LTE) et EUTRAN (4G LTE). Ces mesures sont utilisées pour les critères de création de rapports sur l'intensité du signal, les seuils d'intensité du signal et les fonctions de niveau du signal.
- NGRAN (5G NR) : SSRSRP, SSRSRQ, SSSINR
- EUTRAN (4G LTE) : RSRP, RSRQ, RSSNR
Implémentation
Pour permettre à l'appareil de définir les critères de signalisation de l'intensité du signal pour chaque RAN, implémentez l'interface matérielle setSignalStrengthReportingCriteria_1_5
. Pour chaque RAN, plusieurs types de mesures de signal sont acceptés. Si aucun des critères de création de rapports pour un type de mesure n'est activé pour un RAN, les critères de création de rapports pour ce RAN sont définis par le framework Android. Lorsque les critères de création de rapports d'un type de mesure sont activés pour un RAN, les critères de création de rapports des autres types de mesure sont désactivés.
Pour définir les seuils d'intensité du signal pour les réseaux 4G et 5G, utilisez les clés de configuration de l'opérateur suivantes:
Pour sélectionner plusieurs mesures pour un RAN, utilisez les clés de configuration de l'opérateur suivantes:
Validation
Pour valider votre implémentation, utilisez le test CTS testGetConfig
dans CarrierConfigManagerTest
.
Utilisez VTS pour tester setSignalStrengthReportingCriteria_1_5_*
.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Signal strength reporting\n\nThe telephony framework reports cellular network signal strength using various\nsignal measurement types. You can then use these reported signal strengths to\ncontrol how signal bars are displayed on your device and customize the signal\nstrength reporting criteria from the modem. Starting from Android\n11, you can customize\nmultiple signal measurement types that the framework uses to report the signal\nstrength of 4G LTE and 5G NR radio access networks (RANs).\n\nThe framework uses three functions for reporting signal strength: signal\nstrength reporting criteria, signal strength thresholds, and signal levels.\nThese functions affect how Android communicates with the modem hardware, for\nexample, preventing unnecessary signal strength reporting by the modem to reduce\npower usage and improve system health. The functions are defined as:\n\n- **Signal strength reporting criteria:** The conditions defined by Android to trigger signal strength reporting from the modem.\n- **Signal strength thresholds:** A list of four integers used for suggesting signal level and signal strength reporting criteria.\n- **Signal levels:** Five levels (`NONE`, `POOR`, `MODERATE`, `GOOD`, `GREAT`) that correspond to signal strength.\n\nSupport for multiple signal measurement types\n---------------------------------------------\n\nFor devices running Android 11 or higher, the\nfollowing signal measurement types\nare customizable for NGRAN (5G LTE) and EUTRAN (4G LTE) networks. These\nmeasurements are used for the signal strength reporting criteria, signal\nstrength thresholds, and signal levels functions.\n\n- **NGRAN (5G NR):** SSRSRP, SSRSRQ, SSSINR\n- **EUTRAN (4G LTE):** RSRP, RSRQ, RSSNR\n\nImplementation\n--------------\n\nTo enable the device to set the signal strength reporting criteria for each RAN,\nimplement the\n[`setSignalStrengthReportingCriteria_1_5`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/IRadio.hal#68)\nhardware interface. For each RAN, multiple signal measurement types are\nsupported. If none of the reporting criteria for a measurement type is enabled\nfor a RAN, the reporting criteria for that RAN is defined by the Android\nframework. When the reporting criteria of a measurement type is enabled for a\nRAN, the reporting criteria of other measurement types are disabled.\n\nTo define the signal strength thresholds for 4G and 5G networks, use the\nfollowing carrier config keys:\n\n- [`KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY`](https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY)\n- [`KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY`](https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY)\n- [`KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY`](https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY)\n- [`KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY`](https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY)\n- [`KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY`](https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY)\n\nTo select multiple measurements for a RAN, use the following carrier config\nkeys:\n\n- [`KEY_PARAMETERS_USED_FOR_LTE_SIGNAL_BAR_INT`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/telephony/java/android/telephony/CarrierConfigManager.java#2379)\n- [`KEY_PARAMETERS_USE_FOR_5G_NR_SIGNAL_BAR_INT`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/telephony/java/android/telephony/CarrierConfigManager.java#2461)\n\nValidation\n----------\n\nTo validate your implementation, use the\n[`testGetConfig`](https://android.googlesource.com/platform/cts/+/112b1be/tests/tests/telephony/src/android/telephony/cts/CarrierConfigManagerTest.java#70)\nCTS test in\n[`CarrierConfigManagerTest`](https://android.googlesource.com/platform/cts/+/112b1be/tests/tests/telephony/src/android/telephony/cts/CarrierConfigManagerTest.java).\nUse [VTS](/docs/core/tests/vts) for testing\n`setSignalStrengthReportingCriteria_1_5_*`."]]