Le système d’exploitation mobile Android le plus populaire en ce moment est à sa version 11 et ses développeurs travaillent sur la prochaine version. Dans un billet de blog publié hier, Google a annoncé la première version Preview d’Android 12 pour les développeurs. Étant donné que le billet de blog de Google n’est pas assez documenté à ce sujet, il n’est pas possible de faire une présentation complète de cette version à ce jour.
Toutefois, en début de ce mois, une fuite en ligne d’un document, censé présenter les derniers changements dans la nouvelle version d’Android aux partenaires, a permis à un développeur de la communauté XDA Developers, Mishaal Rahman, de voir des captures d'écran présentant ce qui semble être la nouvelle interface utilisateur et quelques changements fonctionnels présumés du système d’exploitation. Voici, ci-dessous, quelques fonctionnalités intéressantes présentées par Google.
Changements de comportement
Expérience utilisateur
Android 12 simplifie le mode immersif pour rendre la navigation plus facile et plus cohérente sur des activités telles que le visionnage d'une vidéo et la lecture d'un livre. Les applications peuvent toujours être protégées contre les gestes accidentels lors des jeux en plein écran afin que les utilisateurs pendant qu'ils jouent, ne quittent pas accidentellement leurs jeux ; toutes les autres expériences en plein écran ou immersives permettent désormais aux utilisateurs de naviguer sur leur téléphone d'un seul geste.
Pour que cela soit possible, les comportements existants pour les expériences immersives (BEHAVIOR_SHOW_BARS_BY_TOUCH, BEHAVIOR_SHOW_BARS_BY_SWIPE) sont dépréciés à partir d'Android 12. Ils ont été remplacés par un comportement par défaut (BEHAVIOR_DEFAULT) qui permet d'effectuer d'un seul coup des gestes en masquant les barres système. Ce tag présente un comportement visuel et fonctionnel différent selon le mode :
- en mode trois boutons, le comportement visuel et fonctionnel est le même que le mode immersif dans les versions d'Android antérieures à la version 12 ;
- en mode de navigation gestuelle, le comportement est : sur le plan visuel, il est le même que le mode immersif sur Android 11 et les versions inférieures ;
- sur le plan fonctionnel, les gestes sont autorisés même lorsque la barre est cachée ;
- le retour au système ne nécessite qu'un seul balayage au lieu des deux balayages requis pour Android 11. Aucun glissement supplémentaire n'est nécessaire pour abaisser la barre de notification.
Afin d'offrir une expérience simplifiée pour les services d'avant-plan de courte durée sur Android 12, le système peut retarder l'affichage des notifications de services d'avant-plan de 10 secondes. Cette modification donne aux tâches de courte durée une chance de s'achever avant l'apparition de leurs notifications.
Si un service d'avant-plan présente au moins une des caractéristiques suivantes, le système affiche la notification associée immédiatement après le démarrage du service :
- le service est associé à une notification qui comprend des boutons d'action. ;
- le service dispose d’un service d'avant-plan type pour périphérique connecté, mediaPlayback, mediaProjection, ou phoneCall ;
- le service fournit un cas d'utilisation lié aux appels téléphoniques, à la navigation ou à la Restrictions on Netlink MAC Addresslecture de médias, tel que défini dans l'attribut de catégorie de la notification.
Vie privée
Android 12 limite l'accès à l'adresse MAC d'un appareil, pour toutes les applications non-système, quel que soit le niveau de l'API cible. Les API associées renvoient des valeurs vides ou des caractères de remplacement, en fonction de la version du SDK cible de l'application :
- si votre application cible Android 12, l'API renvoie une valeur null ;
- si votre application cible Android 11 ou les versions antérieures, l'API renvoie une valeur de remplacement codée en dur : 02:00:00:00:00:00.
Les développeurs devraient utiliser ConnectivityManager plutôt que des API de niveau inférieur comme NetworkInterface, getifaddrs(), ou les sockets Netlink. Lorsqu'un développeur appelle NetworkInterface.getHardwareAddress() dans son code, la sortie du logcat s'affiche : CompatibilityChangeReporter, ID de modification de compilation signalé : 170188668.
Les développeurs peuvent utiliser l'indicateur de compatibilité appelé RETURN_NULL_HARDWARE_ADDRESS pour basculer le comportement de NetworkInterface.getHardwareAddress() entre le renvoi de null lorsqu'il est activé ou de 02:00:00:00:00:00. lorsqu'il est désactivé.
Sécurité
Pour préserver la sécurité du système et une bonne expérience utilisateur, Android 12 empêche les applications d’accomplir des événements tactiles ; un recouvrement obscurcit l'application. En d'autres termes, le système bloque les touchers qui passent par certaines fenêtres, à quelques exceptions près. Pour améliorer le contrôle de l'utilisateur lors de l'interaction avec les applications et le système, l'action d'intention ACTION_CLOSE_SYSTEM_DIALOGS est dégradée à partir d'Android 12. Sauf dans quelques cas particuliers, lorsque votre application tente d'invoquer une intention qui contient cette action, le système effectue l'une des actions suivantes en fonction de la version du SDK cible de votre application :
- si votre application cible Android 12, une SecurityException se produit ;
- si votre application cible Android 11 (API niveau 30) ou antérieur, l'intention ne s'exécute pas, et le message suivant apparaît dans Logcat : « E ActivityTaskManager Permission Denial: \
android.intent.action.CLOSE_SYSTEM_DIALOGS broadcast from \
com.package.name requires android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS, \
dropping broadcast ».
Aperçu des fonctionnalités et des API
API unifiée pour la réception de contenu
Android 12 introduit une nouvelle API unifiée qui vous permet de recevoir du contenu riche à partir de n'importe quelle source disponible : presse-papiers, clavier ou glisser-déposer.
Compatibilité du transcodage multimédia
Android 12 peut transcoder automatiquement les vidéos HEVC (H.265) et HDR (HDR10 et HDR10 +) enregistrées sur l'appareil en AVC (H.264), un format largement compatible avec les lecteurs standard. Cela tire parti des codecs modernes lorsqu'ils sont disponibles sans sacrifier la compatibilité avec les applications plus anciennes.
Prise en charge des images AVIF
Android 12 introduit la prise en charge des images qui utilisent le format de fichier image AV1 (AVIF). AVIF est un format de conteneur pour les images et les séquences d'images encodées avec le format AV1. Il tire parti du contenu codé de la compression vidéo. Cela améliore considérablement la qualité d’image par rapport aux anciens formats d'image, tels que le JPEG.
Connectivité : améliorations du Wi-Fi Aware
Android 12 apporte quelques améliorations à Wi-Fi Aware :
- sur les appareils fonctionnant sous Android 12 et supérieur, les développeurs peuvent appeler onServiceLost() pour être alerté lorsque l’application a perdu un service découvert en raison de l'arrêt du service ou d'un déplacement vers une zone hors de portée ;
- la manière dont les chemins de données multiples sont configurés évolue pour être plus efficace. Sur les appareils fonctionnant sous Android 12 ou sur les versions supérieures, le répondeur (serveur) peut être configuré pour accepter n'importe quel pair, c'est-à-dire qu'il n'a pas besoin de connaître les informations de l'initiateur au préalable. Cela permet d'établir plusieurs liens point à point avec une seule requête réseau ;
- pour éviter que l’infrastructure ne rejette des demandes de découverte ou de connexion en raison d'un manque de ressources, sur les appareils fonctionnant sous Android 12 et supérieur, Google invite les développeurs à utiliser WifiAwareManager.getAvailableAwareResources(). La valeur de retour de cette méthode permet d'obtenir le nombre de chemins de données disponibles, le nombre de sessions de publication disponibles, et le nombre de sessions d'abonnement disponibles.
Pour Google, l’objectif de la publication d’Android 12 Preview 1 est de permettre aux développeurs du monde entier d’essayer les nouvelles API et de partager leur retour d’expérience, afin que l’entreprise puisse avoir plus de temps pour les inclure dans la version finale. La version stable d’Android 12 est annoncée pour le mois août de cette année.
Source : Google
Et vous ?
Quelles sont les améliorations qui captent votre attention ?
Voir aussi :
Android : Kotlin est désormais le langage préféré et recommandé par Google, vers la fin de Java pour le développement Android ?
Un milliard d'appareils Android sont vulnérables aux attaques de pirates informatiques, car ne recevant plus de mise à jour de sécurité depuis un mois
Une fuite d'Android 12 semble présenter une refonte majeure avec une interface utilisateur aux couleurs changeantes et de nouveaux indicateurs de confidentialité
Google lance la version Preview d'Android 11 pour développeurs, avec une amélioration des API de connectivité, une option de "permission unique" pour les applications, et bien plus encore