Android 11 dispose d'une corbeille cachée pour les photos et vidéos supprimées

Sous Android 11, les applications peuvent suggérer de déplacer les photos et vidéos supprimées vers une corbeille cachée. Cela conserve temporairement les éléments supprimés sur l'appareil.

Google tente de maîtriser la situation de stockage incontrôlable des applications avec le « Scoped Storage ». Le stockage limité a été introduit dans Android 10 mais a depuis été modifié plusieurs fois depuis ses débuts en raison de la façon dont il affecte considérablement l'accès au stockage pour de nombreux appareils Android. applications. Google applique Scoped Storage pour les applications qui ciblent le niveau d'API 30, qui est le dernier niveau d'API coïncidant avec Android 11.

Plutôt que d'essayer de expliquer à nouveau Scoped Storage, voici un graphique de Google "Tout ce qui concerne la confidentialité dans Android 11"exposé qui résume la manière dont Scoped Storage affectera l'accès au stockage pour les applications dans Android 11.

Source: Google

L’un des changements les plus intéressants en matière d’accès au stockage qui est passé inaperçu jusqu’à présent est l’introduction d’un nouveau mécanisme de « destruction ». Cette fonctionnalité est détaillée dans le "

Accès au stockage avec Android 11" vidéo. Essentiellement, les applications utilisant le API MediaStore peut détruire un fichier au lieu de le supprimer afin de donner à l'utilisateur une chance de récupérer le fichier plus tard. Google compare cette fonctionnalité à la corbeille des PC, sauf que la corbeille d'Android est masquée par défaut. Google indique que les applications ayant un accès en modification aux fichiers supprimés ou qui demandent le consentement de l'utilisateur peuvent cependant afficher les éléments de la corbeille. Les éléments mis dans la corbeille sont automatiquement supprimés par Android après 30 jours.

Android 11 exige également que les applications obtiennent le consentement d'un utilisateur avant de modifier des fichiers multimédias dont l'application ne possède pas. Une autre nouvelle fonctionnalité ajoutée est celle des « favoris », qui permet aux applications multimédias d'ajouter un fichier « favori ». statut aux éléments multimédias désignés afin que les autres applications multimédias sachent que l'utilisateur considère ces éléments comme important. Par exemple, si l'utilisateur marque un élément dans une application de galerie, les autres applications multimédias peuvent voir que cet élément a été favori.

Bien que le discours de Google ne montre pas d'exemple du nouveau concept de corbeille du MediaStore, l'API est disponible depuis le premier aperçu du développeur Android 11. Le développeur Yuriy Mysochenko a publié un article sur Medium en février, il passe en revue cette nouvelle API, et il a démontré l'API dans un exemple d'application, comme indiqué ci-dessous :

Nouvelle API de corbeille MediaStore dans Android 11. Crédits: Iouri Mysochenko.

Dans cette démo, l'application a demandé à l'utilisateur s'il souhaitait déplacer une photo vers la corbeille, ce qui supprimerait temporairement la photo de la galerie. Après 7 jours, la photo serait définitivement supprimée du stockage. La googleuse Roxanna Aliabadi mentionne que le système d'exploitation stocke les éléments supprimés pendant 30 jours. La limite de stockage de 7 jours a donc probablement été augmentée depuis la première version d'aperçu du développeur.

Les développeurs intéressés par la mise en œuvre de cette API peuvent consulter la documentation dès maintenant sur le site Web des développeurs Android. Les applications multimédias peuvent créer un PendingIntent appelé createTrashRequest pour inviter l'utilisateur à supprimer un élément, ce qui ajoute ensuite le drapeau IS_TRASHED indiquant qu'un élément multimédia a été supprimé. Les éléments supprimés sont conservés par le système d'exploitation jusqu'à ce que DATE_EXPIRES, après quoi ils sont définitivement supprimés du stockage. Les applications multimédias interrogeant le MediaStore doivent explicitement rechercher les éléments supprimés à l'aide de QUERY_ARG_MATCH_TRASHED car les éléments supprimés sont filtrés des opérations par défaut.

Vous pouvez (et devriez) écouter cette présentation complète sur Scoped Storage si votre application traite de l'accès au stockage :