Android supprime les écritures directes dans les contacts : les développeurs d'applications sont tenus d'utiliser des intents standard

  • PublicPublic
  • 21 Oct, 2026
Android supprime les écritures directes dans les contacts : les développeurs d'applications sont tenus d'utiliser des intents standard

À partir de la prochaine version d'Android, les applications ciblées sur cette nouvelle version perdront la possibilité d'écrire directement dans la liste de contacts de l'appareil à l'aide de l'autorisation WRITE_CONTACTS. Toute tentative d'écriture directe via des opérations ContentProvider ou des mécanismes similaires entraînera une SecurityException ou un refus d'autorisation. Pour garantir la confidentialité et la cohérence, les développeurs sont tenus de migrer vers les intents standard de contacts : ACTION_INSERT, ACTION_EDIT et ACTION_INSERT_OR_EDIT. Ces intents ne nécessitent aucune autorisation spéciale et sont conçus pour gérer la création et la modification des contacts via une interface gérée par le système, assurant ainsi un traitement sécurisé et transparent des données de l'utilisateur.

Auparavant, le comportement de ces intents de contacts variait considérablement d'un fabricant d'appareils à l'autre, ce qui entraînait des expériences utilisateur incohérentes, telles que la perte de données ou des comportements de sauvegarde inattendus. La prochaine version d'Android standardise cette expérience en exigeant que tous les appareils suivent des directives strictes. Lorsqu'une application déclenche ces intents, le système affiche un formulaire propre de type demi-feuille pour les nouvelles entrées ou permet aux utilisateurs de rechercher et de mettre à jour des contacts existants. Les utilisateurs peuvent l'agrandir en un éditeur plein écran pour des informations détaillées. Cette approche standardisée élimine le besoin d'autorisations étendues pour la plupart des applications, car le système gère directement la saisie des données, réduisant ainsi la surface d'attaque et renforçant la confiance des utilisateurs dans la gestion des contacts.

Pour un petit sous-ensemble d'applications dont la fonctionnalité principale consiste à gérer les contacts, une nouvelle autorisation d'accès spéciale appelée MANAGE_CONTACTS sera introduite dans Android 17 QPR2, prévue pour le quatrième trimestre 2026. Cette autorisation accorde un accès étendu pour lire, ajouter, modifier et supprimer des contacts, des comptes et des données People Directory, remplaçant de fait le besoin des autorisations WRITE_CONTACTS et READ_CONTACTS dans les scénarios concernés. Les applications demandant cette autorisation doivent soumettre une déclaration dans la Play Console expliquant pourquoi les intents standard sont insuffisants pour leur fonctionnalité principale. Cette mesure garantit que seules les applications ayant un besoin réel d'un accès étendu aux contacts peuvent contourner le flux de travail standardisé basé sur les intents.

Les développeurs doivent également envisager la nouvelle fonctionnalité People Directory, qui arrive dans la même version et permet aux applications de publier des informations sur la joignabilité des contacts sans modifier directement les contacts de l'utilisateur. Cela est particulièrement pertinent pour les applications qui ajoutaient auparavant des actions « Appeler via » ou « Envoyer un message via » en écrivant des entrées supplémentaires dans la base de données des contacts. En utilisant People Directory, les applications peuvent maintenir ces fonctionnalités sans enfreindre les nouvelles restrictions sur les modifications directes des contacts. Ce changement encourage une approche plus modulaire de l'intégration des contacts, où les applications contribuent au répertoire au lieu de modifier la liste de contacts personnelle de l'utilisateur, préservant ainsi l'intégrité des données de l'utilisateur tout en offrant des options de connectivité utiles.

Le processus de migration consiste à identifier toutes les écritures directes dans les contacts dans la base de code, telles que celles utilisant ContactsContract.RawContacts.CONTENT_URI ou les méthodes applyBatch, et à les remplacer par les intents appropriés. Les développeurs doivent utiliser ACTION_INSERT pour les nouveaux contacts et ACTION_EDIT ou ACTION_INSERT_OR_EDIT pour les mises à jour, en transmettant des charges de données facultatives comme les noms, les numéros de téléphone et les photos via Intent Extras. Pour la lecture des contacts, le Contact Picker, disponible depuis Android 17, reste la solution recommandée et ne requiert aucune autorisation. Les applications ciblant d'anciennes versions d'Android conserveront leur comportement actuel, mais le nouvel éditeur standardisé sera disponible pour toutes les applications sur le nouveau système d'exploitation, garantissant une expérience cohérente pour les utilisateurs, quel que soit le SDK cible de l'application.