Serveur d'impression

Fonctionnalités d'Android 11 – Ce que les développeurs doivent savoir sur les nouvelles API – Bien choisir son serveur d impression

Le 9 septembre 2020 - 25 minutes de lecture


Android 11 est là, et avec lui, tout un tas de changements par rapport à Android 10. Et ces changements signifient que les développeurs vont devoir mettre à jour leurs applications pour profiter de tout ce qu'Android 11 a à offrir (et de tout ce qu'il restreint).

Cet article passe en revue les modifications et ajouts les plus importants d'API et de fonctionnalités dans Android 11. Nous avons un article séparé sur les fonctionnalités plus axées sur l'utilisateur que vous pouvez également consulter. Maintenant, commençons!

Sommaire

Commandes de l'appareil

L'une des fonctionnalités les plus importantes introduites dans Android 11 est connue sous le nom de contrôles de périphérique. L'objectif de Device Controls est de faciliter le contrôle de vos appareils intelligents. Ouvrez le menu d'alimentation et vous pourrez voir et interagir rapidement avec tous les appareils intelligents connectés que vous possédez. Ce n’est pas non plus une fonctionnalité fermée. Tout développeur peut créer ses propres widgets pour les contrôles de périphérique.

Actuellement, il existe 5 types de widgets différents disponibles: Toggle, qui est un simple indicateur d'état avec une fonctionnalité marche / arrêt; Plage, qui peut être utilisée pour ajuster une valeur comprise entre 0 et 100%; Toggle with Slider, qui combine les fonctionnalités de Toggle et Range; Stateless, qui est un simple bouton sans indicateur d'état; et Panneau de température, qui vous permet de visualiser et de contrôler les réglages de température d'un thermostat.

API de contrôle des appareils Android 11

S'il est clair que ces widgets sont destinés à être utilisés pour des choses comme les lumières et les stores, il est certainement possible de les «abuser» pour plus de fonctionnalités. Si vous souhaitez commencer à développer votre propre widget de contrôle des appareils, consultez la documentation de Google. Si vous souhaitez en savoir plus sur les raisons pour lesquelles les contrôles d'appareils peuvent être utiles, consultez notre éditorial.

Commandes multimédias

Le contrôle des médias sous Android 11 est assez intéressant. Au lieu de la notification de lecture standard, vous pouvez afficher vos commandes multimédias dans le panneau des paramètres rapides. Cette partie du panneau affichera également jusqu'à 5 «sessions» multimédias au total, permettant à l'utilisateur de faire défiler et de reprendre facilement la lecture à partir d'autres applications et appareils. Il semble qu'il puisse même y avoir plusieurs sessions à partir d'une seule application.

Cependant, sa mise en œuvre n’est pas entièrement automatique. Votre application doit prendre en charge les nouveaux contrôles multimédias. Consultez la documentation de Google et notre article pour plus d'informations.

Enregistrement d'écran

Enfin, Android a un enregistrement d'écran intégré. Sous Android 11, enregistrer votre écran est aussi simple que d'ajouter une vignette de paramètres rapides et de la toucher. Avant de commencer l'enregistrement, vous pouvez choisir si vous souhaitez enregistrer l'audio à partir du microphone et si vous souhaitez afficher les touches à l'écran.

Cela a cependant des implications pour les développeurs. Il existe une tonne d'applications d'enregistrement d'écran sur le marché. Bien qu'Android 11 ne casse pas leurs fonctionnalités, cela signifie que les enregistreurs d'écran tiers devront fournir des fonctionnalités convaincantes s'ils souhaitent être utilisés à la place de ce qui est intégré à Android.

Autorisations uniques et à révocation automatique

Google s'est beaucoup concentré sur les fonctionnalités de confidentialité des utilisateurs dans Android ces derniers temps, et ils ne se sont pas arrêtés avec Android 11. Cette version comporte deux changements très importants du modèle d'autorisations d'exécution (ou «dangereux»).

Dans les versions précédentes d'Android, si votre application avait besoin d'une autorisation de niveau dangereux, elle demandait l'accès de l'utilisateur, et c'était à peu près tout. Votre application conserverait cette autorisation jusqu'à ce qu'elle soit désinstallée, ses données effacées ou que l'utilisateur la révoque manuellement.

Cependant, Android 11 n'a plus cette garantie. Désormais, lorsqu'un utilisateur est invité à accorder une autorisation, il a la possibilité de l'accorder "seulement cette fois". L'autorisation ne sera accordée à l'application que tant qu'elle est au premier plan. Voici comment Google décrit son comportement:

"Tant que l'activité de votre application est visible, votre application peut accéder aux données.

Si l'utilisateur place votre application en arrière-plan, votre application peut continuer à accéder aux données pendant une courte période.

Si vous lancez un service de premier plan alors que l'activité est visible et que l'utilisateur déplace ensuite votre application en arrière-plan, votre application peut continuer à accéder aux données jusqu'à ce que ce service de premier plan s'arrête.

Si l'utilisateur révoque l'autorisation unique, comme dans les paramètres système, votre application ne peut pas accéder aux données, que vous ayez ou non lancé un service de premier plan. Comme pour toute autorisation, si l'utilisateur révoque l'autorisation unique de votre application, le processus de votre application prend fin. "

De toute évidence, il y a ici des implications assez importantes pour les développeurs. Étant donné qu'une révocation d'autorisation agit comme un arrêt forcé, elle peut entraîner l'échec de choses telles que des alarmes et des tâches. Selon le Logiciels communs blog, cette «courte période» pendant laquelle votre application peut fonctionner en arrière-plan ne dure qu'environ une minute. Donc, si votre application a quelque chose qui repose sur des réveils précis, vous devrez recommander à l'utilisateur de ne pas utiliser l'option d'autorisation unique pour votre application.

Cependant, les autorisations uniques ne sont pas la seule chose ajoutée dans Android 11. Si Android détecte que vous n'avez pas utilisé d'application depuis un certain temps, il révoquera automatiquement toutes les autorisations accordées. C'est une fonctionnalité intéressante de confidentialité en théorie, mais encore une fois, cela a de sérieuses implications, en particulier pour les applications dont le but principal est d'exécuter et de collecter des données en arrière-plan (comme les trackers de batterie).

Notifications de l'application de messagerie

Android 11 est apparemment très «axé sur les gens». Bien que ce soit un terme un peu vague, au moins une partie implique une meilleure expérience de messagerie, avec des notifications de message correctement marquées apparaissant dans leur propre catégorie en haut du centre de notification. Cela signifie également prendre en charge la fonctionnalité Bulles d'Android, qui est similaire aux têtes de chat de Facebook Messenger.

Si vous souhaitez mettre en œuvre les nouvelles fonctionnalités de messagerie "axées sur les personnes" dans votre application, consultez la documentation de Google.

Gestionnaires de fichiers et stockage étendu

Le stockage à portée est un gâchis. Là, je l'ai dit. En tant que fonctionnalité, c'est assez déroutant pour les développeurs, et Google ne fait qu'empirer les choses avec ses semi-déploiements et ses politiques étranges.

Auparavant, dans Android 10, les développeurs avaient la possibilité de refuser d'utiliser Scoped Storage avec le requestLegacyExternalStorage drapeau. Cela est toujours possible dans Android 11 si votre application cible toujours Android 10. Mais dès que vous ciblez Android 11, cet indicateur est ignoré.

Si vous travaillez sur la migration de votre modèle de données pour prendre en charge Scoped Storage, vous pouvez utiliser le préserverLegacyExternalStorage drapeau. Cela permettra à votre application de continuer à accéder au stockage externe tant que l'utilisateur est passé à la version contenant cet indicateur. Si l'utilisateur efface les données de l'application, la réinstalle ou est un nouvel utilisateur, cet indicateur n'aura aucun effet.

Cependant, Google reconnaît au moins partiellement l'importance d'un accès complet au système de fichiers de l'espace utilisateur. Il existe une nouvelle autorisation (MANAGE_EXTERNAL_STORAGE) pour vous permettre d'avoir à nouveau un accès presque complet. Cependant, cette autorisation n'est pas autorisée dans les applications publiées sur le Play Store avant 2021. Si vous disposez d'un gestionnaire de fichiers ou d'une application antivirus sur le Play Store, vous devrez attendre pour le moment le ciblage de l'API 30.

Cependant, ce ne sont pas les seuls changements apportés à Scoped Storage. le Les données et obb répertoires sous / sdcard / Android / ne sont plus accessibles en aucune circonstance, même avec l'autorisation MANAGE_EXTERNAL_STORAGE. Vous ne pouvez plus utiliser ACTION_OPEN_DOCUMENT_TREE pour cibler la racine de tout stockage «fiable» ou du dossier de téléchargement. Ce qui constitue un stockage «fiable» dépend du fabricant de l’appareil, mais il est prudent de dire que le stockage interne et le stockage adopté comptent probablement tous les deux.

Emplacement d'arrière-plan

Si votre application a besoin d'accéder aux données de localisation en arrière-plan, le processus est désormais plus complexe. Android 10 a ajouté la possibilité d'autoriser une application à accéder aux données de localisation uniquement lorsqu'elle est au premier plan ou de l'autoriser à tout moment. Android 11 sépare encore ces options.

Désormais, au lieu qu'un utilisateur choisisse l'un ou l'autre, il doit d'abord autoriser l'accès à l'emplacement tout en utilisant l'application, puis accéder aux paramètres pour autoriser l'accès en arrière-plan. Si votre application cible Android 11 (API 30) et que vous devez accéder aux données de localisation en arrière-plan, vous devrez mettre à jour votre flux d'autorisation pour garder cela en compte. Consultez la documentation de Google pour obtenir des instructions sur sa mise en œuvre.

API BiometricPrompt

À mesure que les méthodes d'authentification telles que les lecteurs d'empreintes digitales et la reconnaissance faciale se répandent, il est important de pouvoir spécifier les formes d'authentification que vous souhaitez autoriser. Une nouvelle API dans Android 11 vous permettra de spécifier la «force» de l'authentification biométrique que vous souhaitez autoriser.

API d'identification d'identité

Avec la virtualisation de nos modes de paiement via des applications telles que Google Pay et Samsung Pay, il est tout à fait naturel que l'on essaie de rendre différentes formes d'identité virtuelles également. Android 11 travaille sur des fonctionnalités pour prendre en charge correctement les identités virtuelles. L'API native est présente dans Android 11, mais Google travaille également sur une bibliothèque Jetpack pour les versions d'Android depuis Android 7.0 Nougat.

API 5G

"Yay! 5G! » – n'a jamais dit personne.

Android 11 propose de nouvelles API pour aider les développeurs d'applications à en savoir plus sur le réseau 5G actuel auquel l'appareil est connecté. Vous pouvez par exemple vérifier le type de 5G (5Ge, 5G sub6, 5G mmW), vérifier s'il est mesuré et même obtenir une valeur pour la bande passante estimée de la connexion. En plus de cela, si vous n'avez pas d'appareil compatible 5G (ou de service 5G dans votre région), l'émulateur Android prend en charge la 5G virtuelle, vous pourrez donc tester correctement la façon dont votre application répond à la différents modes de réseau.

Afficher les API de découpe

Des encoches, des trous, des courbes d'écran, peu importe. Les appareils Android ont beaucoup d'obstructions sur leurs écrans ces jours-ci. Que ces obstructions semblent bonnes ou non, cela dépend de vous.

Cependant, travailler autour des découpes du point de vue du développeur peut être un peu un cauchemar. Bien qu'Android ait des API de découpe d'affichage depuis un certain temps maintenant, elles ne sont pas complètes. Android 11 s'efforce de résoudre ce problème en ajoutant plus de flexibilité aux API de découpe, ainsi qu'en prenant en charge le travail autour des écrans incurvés ou en «cascade».

API de pliage de charnière

Les téléphones pliables sont devenus très populaires ces derniers temps. Avec les grands fabricants comme Samsung et Huawei et même les plus petits comme Motorola, qui lancent pas mal de tours différents sur la conception pliable, ils ne feront que devenir plus populaires.

Android 11 est prêt pour cela avec une nouvelle API qui permet aux applications de détecter quand un appareil se plie. Vous pouvez le voir ici. L'émulateur Android d'Android Studio reçoit également une mise à niveau «matérielle» pour prendre en charge les charnières.

Filtrage des appels

Les appels de spam sont un très gros problème en ce moment. Et avec des choses comme l'usurpation de numéro, il est devenu assez difficile de dire si un appel entrant est réel ou un spam. Aux États-Unis et dans d'autres régions, les opérateurs ont mis en œuvre les normes STIR / SHAKEN dans le but d'authentifier l'identité de l'appelant et d'empêcher l'usurpation de numéro. Cependant, tous les opérateurs ne bloquent pas les appels dont la validation échoue, vous pouvez donc toujours recevoir des appels indésirables.

Android 11 dispose d'une nouvelle API pour permettre aux applications de vérifier l'état STIR / SHAKEN des appels entrants. Cela signifie que les bloqueurs d'appels tiers (et propriétaires) peuvent mieux filtrer les appels sans avoir à recourir à des hacks instables. Vous pouvez en savoir plus ici.

Mise en cache du classeur

Cependant, la confidentialité n'est pas le seul objectif d'Android 11. Google a également travaillé sur des améliorations générales des performances. Android dispose d'un système de communication intéressant entre les processus qui permet aux applications tierces d'interagir avec le serveur système, en utilisant les AIDL / Binders. La séparation offerte par ce système est excellente pour la sécurité, mais il y a un compromis important en termes de performances. Les appels entre processus peuvent prendre beaucoup plus de temps qu'un appel similaire au sein du même processus.

Pour aider à lutter contre cela, Android 11 mettra en cache les valeurs de retour de certains appels Binder pour améliorer les performances des applications qui les utilisent. Google affirme qu'il se concentre actuellement sur des API très utilisées et relativement statiques.

WindowInsetsAnimation.Callback

L'une des parties les plus bizarres d'Android est la façon dont les applications gèrent les méthodes de saisie et les barres système qui apparaissent et disparaissent. Alors que certains fabricants peuvent mettre en œuvre des animations personnalisées dans leurs skins ou applications, les transitions ne sont pas universelles.

Malheureusement, Android 11 ne résout pas tout à fait le problème, mais il fournit au moins les outils pour aider les développeurs à le faire eux-mêmes. Une nouvelle API a été ajoutée qui vous permet d'écouter et de répondre aux modifications apportées aux encarts de fenêtre de votre application. Avec la bonne configuration de fenêtre, cela vous permettra de détecter quand le clavier ou les barres système s'affichent ou se cachent, et redimensionner la mise en page de votre application en conséquence.

Si vous souhaitez l'intégrer dans votre propre application, consultez cet article Medium.

Support HEIF animé

Les GIF sont terribles. Bien sûr, ils vous permettent de partager des animations, mais ils sont énorme. Pour les personnes ayant une connexion Internet lente et / ou des limites de données, le chargement de fichiers GIF n'est tout simplement pas possible. Dans certains cas, il est possible d’utiliser le format WebM plus efficace, mais Android 11 prend désormais également en charge les fichiers HEIF animés.

Décodeur d'image NDK

Si vous développez des parties de votre application Android en C ++ à l'aide de NDK, vous avez peut-être remarqué l'absence de décodeur et d'encodeur d'image côté framework. L'inclusion de bibliothèques C peut être coûteuse en termes de taille d'application, surtout si vous créez pour plusieurs architectures.

Eh bien, Android 11 ajoute une API de décodage et d'encodage d'image au framework. De toute évidence, ce n'est pas très utile pour le moment, mais au cours des prochaines années, cela contribuera certainement à rendre certaines applications plus petites et plus faciles à gérer.

Décodage vidéo à faible latence

La vidéo à faible latence est une fonctionnalité assez importante pour des choses comme le streaming vidéo, en particulier avec le lancement prochain de plates-formes de jeux en nuage comme GeForce NOW de NVIDIA, Stadia de Google et xCloud de Microsoft. L'API MediaCodec d'Android 11 prend désormais entièrement en charge l'encodage et le décodage des flux vidéo à faible latence.

Taux de rafraîchissement variable

Les affichages à taux de rafraîchissement élevé devenant de plus en plus omniprésents, les fonctionnalités des appareils dotés du matériel sont de plus en plus fragmentées. Pour lutter contre cela, Android 11 introduit une option pour définir la fréquence d'images préférée de votre application. Donc, si vous avez besoin que l'affichage fonctionne à une fréquence de rafraîchissement spécifiée (par exemple 24 Hz pour un film de film), cette API peut vous aider.

Consultez les détails sur le site de documentation de Google.

Ressources dynamiques

L'un des ajouts les plus intéressants à Android 11 est peut-être la possibilité de charger et de modifier dynamiquement les ressources. Auparavant, cela n’était pas possible. Si vous souhaitez «modifier» une ressource, vous devez soit avoir des valeurs prédéfinies dans XML, soit éviter d’utiliser des ressources XML et compter sur du code.

Vous pouvez désormais utiliser les API ResourcesLoader et ResourcesProvider pour charger des ressources et des actifs supplémentaires ou modifier / remplacer ceux existants.

Raisons de sortie de l'application

Il est toujours frustrant lorsque votre application plante sur un appareil que vous ne contrôlez pas, car il est plus difficile de savoir pourquoi. Vous pouvez implémenter des bibliothèques comme Crashlytics pour obtenir plus de détails sur ce qui s'est passé, mais celles-ci ne capturent pas tout.

Android 11 ajoute l'API ActivityManager.getHistoricalProcessExitReasons (), qui vous permet d'interroger si et pourquoi votre application peut avoir un arrêt forcé. Les raisons incluent les ANR, les plantages, les plantages natifs et bien plus encore.

ADB incrémentiel

Si vous développez une application volumineuse, vous savez probablement à quel point il peut être fastidieux d'essayer de l'installer via ADB. Il peut échouer à mi-parcours, et même si ce n'est pas le cas, il y a beaucoup de temps perdu à attendre le transfert de l'APK.

Android 11 est là pour sauver la situation, avec ADB Incremental. Cette fonctionnalité installe suffisamment d'application pour lui permettre de s'exécuter tout en diffusant les données supplémentaires en arrière-plan. Le seuil pour cette fonctionnalité est actuellement de 2 Go et nécessite que votre application soit signée avec le schéma de signature APK v4. Cela nécessite également que l'appareil cible prenne en charge le système de fichiers incrémentiel, qui n'est actuellement pris en charge que sur le Pixel 4, mais est une condition de lancement pour Android 11.

Plus d'annotations de nullité

Kotlin est devenu l'un des langages les plus populaires pour le développement d'applications Android. Grâce à quelques fonctionnalités de syntaxe pratiques, comme la protection NULL intégrée, il est devenu le favori de nombreux développeurs (dont moi).

En raison de cette popularité croissante, Google a travaillé sur le framework Android pour le rendre plus convivial pour Kotlin. Cela se présente principalement sous la forme d'annotations de nullabilité explicites aux méthodes et aux variables. Bien que Kotlin puisse gérer les retours de méthode ambigus de Java, il le fait au prix d'une protection Null explicite.

Android 11 ajoute encore plus d'annotations de nullité au framework, ce qui facilite encore plus l'utilisation de Kotlin pour développer des applications Android.

Outils de compatibilité

En raison de toutes les nouvelles restrictions de confidentialité dans Android 11, il peut être difficile de voir comment elles affectent votre application, sans cibler l'API 30 et espérer le meilleur.

Pour faciliter le débogage et la mise à jour, Android 11 dispose d'une fonctionnalité qui vous permet d'activer manuellement les nouvelles restrictions, même si votre application ne cible pas l'API 30. Vous pouvez les activer individuellement pour des tests plus granulaires ou en même temps pour voir si tout se brise.

Consultez la documentation de Google pour plus de détails.

Audit d'accès aux données

Sur une note similaire aux outils de compatibilité, Android 11 ajoute également la possibilité de vérifier les données auxquelles votre application accède. Vous pouvez l'utiliser pour vous assurer de ne pas rencontrer de problèmes avec les nouvelles restrictions de stockage étendues sur Android 11.

Pour obtenir les instructions de mise en œuvre et d'utilisation, consultez la documentation de Google.

Autorisations de chargement latéral APK

Grâce au nouveau modèle Scoped Storage qui est encore appliqué sur Android 11, le chargement latéral des APK est devenu un peu plus difficile, du moins du côté des développeurs.

Dans les aperçus précédents d'Android 11 pour les développeurs, accorder à une application l'autorisation de charger des fichiers APK de manière latérale forcait immédiatement sa fermeture. C'est une expérience déroutante pour les utilisateurs et les développeurs, car les utilisateurs sont expulsés de l'application qu'ils utilisaient et les développeurs doivent gérer l'arrêt forcé de leur application.

Bien que la version complète d'Android 11 n'ait pas complètement résolu ce problème, elle l'a au moins rendu gérable. Désormais, au lieu de quitter toute l'application, l'octroi de l'autorisation entraîne simplement le redémarrage de l'activité actuelle. Si votre application installe des APK à partir d'une activité avec des fragments imbriqués ou d'une autre forme de navigation, assurez-vous d'en enregistrer correctement l'état en prévision d'une recréation potentielle.

Liste des packages installés

Une autre fonctionnalité de confidentialité d'Android 11 est ses restrictions sur la récupération de la liste des applications installées. Dans les versions précédentes d'Android, en utilisant le PackageManager.getInstalledPackages () La méthode listerait toutes les applications correspondantes sur l'appareil.

Dans Android 11, cependant, cette méthode ne renverra que votre application et une liste d'applications préinstallées. Le raisonnement supposé à cela est d'éviter que les applications ne puissent empreinte digitale sur votre appareil en vérifiant les autres applications que vous avez installées. Cependant, il est assez facile de contourner cette restriction, au moins partiellement. Si votre application doit voir les packages installés par l'utilisateur, vous pouvez utiliser le élément manifest pour indiquer les types d'applications que vous souhaitez voir. Cela ne nécessite aucune interaction de l'utilisateur; vous serez automatiquement autorisé à voir les applications correspondant à vos requêtes.

Regarde ça Logiciels communs article de blog pour plus de détails.

Portefeuille à accès rapide

Partiellement introduite dans Android 10, cette fonctionnalité permet aux développeurs d'afficher les méthodes de paiement directement dans le menu d'alimentation. Dans Android 10, la fonctionnalité était désactivée par défaut et ne fonctionnait que sur les appareils Pixel avec Google Pay. Android 11, cependant, ajoute une API appropriée pour y accéder.

Pour en savoir plus sur son fonctionnement, consultez notre article précédent sur le portefeuille à accès rapide.

Restrictions des applications de caméra tierces

Un gros avantage d'Android est la possibilité de spécifier quelle application vous souhaitez utiliser pour un certain service. Malheureusement, cela est devenu plus difficile, du moins pour l'application appareil photo.

En général, avec Android 11, les applications de caméra tierces ne s'afficheront plus dans le sélecteur de caméra lorsqu'une application demande qu'une photo soit prise. Pour tous les détails et le raisonnement, consultez notre article précédent à ce sujet.

Mode automatique à faible latence

Les téléviseurs et les téléviseurs basés sur Android 11 permettent désormais aux applications de demander au téléviseur de désactiver tout le post-traitement sur l'image affichée, pour permettre une latence plus faible. Consultez notre article sur les nouvelles fonctionnalités d'Android TV pour en savoir plus.

Bibliothèque de magasin de blocs

Android 11 permet aux développeurs de sauvegarder les identifiants d'application des utilisateurs sur Google Drive pour une connexion plus facile sur les nouveaux appareils. Bien que cette fonctionnalité soit facultative, elle devrait faciliter la migration vers un nouvel appareil pour les applications qui l'implémentent.

Corbeille de la galerie

Bien que de nombreux fabricants aient ajouté une fonctionnalité de corbeille ou de corbeille à leurs propres applications de galerie, il s'agit d'une fonctionnalité qui manquait sur Android lui-même. Android 11 ajoute une nouvelle API à MediaStore pour permettre de «supprimer» les photos et les vidéos au lieu de les supprimer purement et simplement.

Nouvelle API MediaStore Trash sous Android 11. Crédits: Yuriy Mysochenko.

Plus de surbalayage

Le surbalayage était une fonctionnalité d'Android qui permettait, eh bien, de surbalayer. Bien qu'elles soient principalement destinées aux téléviseurs, les API étaient également présentes dans Android mobile et étaient particulièrement utiles pour des choses comme les applications de gestes de navigation tierces. Malheureusement, Google a entièrement supprimé le surbalayage d'Android 11.

Abandon d'AsyncTask

Si vous utilisez AsyncTask, il est peut-être temps de trouver une alternative, telle que les coroutines RxJava ou Kotlin. Android 11 désapprouve officiellement l'API AsyncTask. Bien qu'il ne s'agisse que d'une obsolescence et non d'une suppression, il est probablement toujours judicieux de migrer vers autre chose dès que possible.

Meta Reflection Patched

Android 9 a introduit la liste noire des API cachées dans le but d'empêcher les développeurs d'applications tiers d'utiliser des parties du framework Android qui ne font pas partie du SDK, au nom de la stabilité. Grâce à l'utilisation de la méta (ou double) réflexion, cependant, il était assez trivial de contourner et même de désactiver complètement cette restriction.

Android 11, cependant, sévit contre ce contournement. La méta-réflexion ne fonctionnera plus et encore plus d'API masquées sont restreintes. Bien qu'il semble toujours possible de contourner les nouvelles restrictions, le contournement implique l'utilisation de code natif, ce qui peut ne pas être souhaitable pour tous les développeurs.

Partager pour imprimer

L'impression sur Android devrait être plus facile avec Android 11, grâce à la nouvelle intention Partager pour imprimer. Cela permet aux développeurs de partager un document directement avec un service d'impression, en contournant l'écran de partage normal, ce qui rend l'impression plus pratique pour les utilisateurs.

Toujours pas d'API d'enregistrement d'appels

Une fonctionnalité a été introduite dans Android 11 Developer Preview 2 qui permettait aux applications de numérotation tierces d'enregistrer les appels. Cependant, cela a été rapidement supprimé dans Developer Preview 3. Si vous voyiez des histoires sur cette fonctionnalité, désolé de vous décevoir, mais elle n'est pas disponible dans Android 11.

Chargeur DSU

Android 10 a ajouté la possibilité d'installer «temporairement» un GSI directement à partir de Google, pour tester plus facilement vos applications sur les nouvelles versions d'Android. Cette fonctionnalité fonctionnait sur tous les appareils certifiés par Google exécutant Android 10. Malheureusement, elle nécessitait un bootloader déverrouillé, car la vérification de la signature n'était pas entièrement mise en œuvre.

Dans Android 11, cependant, il devrait désormais être possible de sélectionner et d'installer un Google GSI directement à partir des options de développement sans chargeur de démarrage déverrouillé. N'oubliez pas que nous n'avons pas été en mesure de tester cela, alors si vous l'avez fait, dites-nous comment cela se passe!


Comme vous pouvez le voir, beaucoup de choses se sont produites avec Android 11. Il y a eu des changements dans le fonctionnement de l'accès aux fichiers, de nouvelles fonctionnalités impliquant des appareils intelligents et même la possibilité d'installer des GSI sans un chargeur de démarrage déverrouillé.

J'espère que cet article vous a aidé à découvrir ce dont vous aurez besoin pour l'avenir du développement d'applications Android. Sinon, eh bien. Si vous souhaitez démarrer Android 11 sur votre appareil Pixel, nous avons les liens de téléchargement pour vous ici. Si vous possédez un appareil OEM de OnePlus, Xiaomi, OPPO ou Realme, consultez cet article pour voir si votre appareil est éligible pour une version bêta. Vous pouvez également lancer Android Studio pour lancer la dernière version de l'émulateur Android 11, ou vous pouvez flasher l'un des GSI Android 11 publiés aujourd'hui. Bon développement!

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.