Les appareils équipés d'Android 9 peuvent reconnaître les informations sur l'opérateur de l'abonnement pour fournir un ID et un nom d'opérateur. Android gère une base de données d'ID d'opérateur, avec des règles de correspondance pour chaque opérateur et son ID d'opérateur unique. AOSP inclut le contenu de la base de données des ID d'opérateur, dans le fichier carrier_list.textpb
.
La base de données unifiée minimise la logique en double dans les applications qui doivent identifier les opérateurs et limite l'exposition des attributs d'identification des opérateurs.
Pour améliorer la couverture et la précision de l'identification de l'opérateur, Android prend en charge les mises à jour hors bande et des tables d'ID d'opérateur. Chaque mise à jour est associée à un numéro de version et est publiée sur AOSP.
Implémentation
Les utilisateurs qui souhaitent implémenter des mises à jour hors bande peuvent télécharger le fichier binaire carrier_list.pb
depuis AOSP. Pour afficher le format lisible du tableau, consultez carrier_list.textpb
.
Placez le tableau des ID d'opérateur dans la partition de données /data/misc/carrierid/
de l'appareil. Si la table d'ID d'opérateur est plus récente que la version existante, l'appareil conserve la table dans la classe de base de données d'ID d'opérateur.
Les informations les plus récentes de la base de données des ID de transporteur sont récupérées par les méthodes publiques
getSimCarrierId()
et
getSimCarrierIdName()
.
Ajouter des informations sur l'ID de l'opérateur à la base de données
Pour ajouter ou modifier un ID d'opérateur dans la base de données, envoyez une demande à l'aide du formulaire d'informations d'identification de l'opérateur.
Votre demande est examinée et, si elle est approuvée, la modification est envoyée à la base de code AOSP à l'adresse carrier_list.pb
.
Vous pouvez ensuite copier la liste mise à jour et l'intégrer à votre version personnalisée.
Intégrer les ID d'opérateur à CarrierConfig
À partir d'Android 10, la configuration de l'opérateur permet d'utiliser les ID d'opérateur comme clés pour récupérer les configurations spécifiques à l'opérateur à partir de CarrierService
.
L'intégration des ID de transporteur à CarrierConfig
présente les avantages suivants :
- Regroupe toutes les paires MCC/MNC pour chaque opérateur dans un seul emplacement, ce qui permet de supprimer les données en double ou incohérentes.
- Crée un identifiant canonique pour chaque transporteur et élimine toute ambiguïté.
- Permet d'identifier les opérateurs de réseau mobile virtuel (MVNO) avec des ID individuels au lieu d'avoir des configurations faisant partie d'un opérateur de réseau mobile (MNO).
Migrer les données de configuration vers les ID d'opérateur
Pour migrer les données de configuration des paires MCC/MNC vers les ID d'opérateur, procédez comme suit :
Regroupez les fichiers
carrier_config_mccmnc.xml
d'un même opérateur. Utilisezcarrier_list.textpb
comme référence pour mapper les informations sur le MCC, le MNC et l'opérateur MVNO à un opérateur spécifique.Fusionnez les configurations dans un seul fichier.
(Facultatif) Héritez des données des opérateurs mobiles. Les MVNO héritent des configurations des MNO dans l'ancien fichier
carrier_config_mccmnc.xml
. Étant donné que les ID d'opérateur permettent à tous les opérateurs, y compris les MVNO, de disposer d'un fichier de configuration dédié, il est recommandé d'inclure les données MNO lors de la migration.Si la configuration d'un ID d'opérateur MVNO n'existe pas, récupérez la configuration de son ID d'opérateur MNO à l'aide de
getCarrierIdFromSimMccMnc
.Renommez le nouveau fichier
carrier_config_carrierid_carrierid_carriername.xml
, où carrierid doit correspondre à uncanonical_id
et carriername doit correspondre à uncarrier_name
danscarrier_list.textpb
.