Android 11 verfügt über einen versteckten Papierkorb für gelöschte Fotos und Videos

In Android 11 können Apps vorschlagen, gelöschte Fotos und Videos in einen versteckten Papierkorb zu verschieben. Dadurch bleiben gelöschte Elemente vorübergehend auf dem Gerät.

Mit „Scoped Storage“ versucht Google, die außer Kontrolle geratene App-Storage-Situation einzudämmen. Scoped Storage wurde in Android 10 eingeführt Seit seiner Einführung wurde es jedoch mehrmals geändert, da es den Speicherzugriff für viele Android-Geräte stark beeinträchtigt Anwendungen. Google erzwingt Scoped Storage für Apps, die auf API-Level 30 abzielen, dem neuesten API-Level, der mit Android 11 zusammenfällt.

Anstatt es zu versuchen Erklären Sie Scoped Storage noch einmal, hier ist eine Grafik von Google „Alles rund um den Datenschutz in Android 11„Vortrag, der zusammenfasst, wie sich Scoped Storage auf den Speicherzugriff für Apps in Android 11 auswirkt.

Quelle: Google

Eine der interessanteren Änderungen beim Speicherzugriff, die bisher unter dem Radar blieb, ist die Einführung eines neuen „Papierkorb“-Mechanismus. Diese Funktion wird in Googles „

Speicherzugriff mit Android 11" Video. Im Wesentlichen verwenden Apps die MediaStore-API Sie können eine Datei in den Papierkorb werfen, anstatt sie zu löschen, um dem Benutzer die Möglichkeit zu geben, die Datei später wiederherzustellen. Google vergleicht diese Funktion mit dem Papierkorb auf PCs, mit dem Unterschied, dass der Papierkorb von Android standardmäßig ausgeblendet ist. Google gibt jedoch an, dass Apps mit Bearbeitungszugriff auf gelöschte Dateien oder die die Zustimmung des Benutzers einholen, Elemente aus dem Papierkorb anzeigen können. Elemente, die in den Papierkorb verschoben werden, werden von Android nach 30 Tagen automatisch gelöscht.

Android 11 verlangt außerdem, dass Apps die Zustimmung eines Benutzers einholen, bevor sie Mediendateien ändern, die der App nicht gehören. Eine weitere neue Funktion ist „Favoriten“, die es Medien-Apps ermöglicht, eine „Favoriten“-Datei hinzuzufügen Status für bestimmte Medienelemente, damit andere Medien-Apps wissen, dass der Benutzer diese Elemente als ansieht wichtig. Wenn der Benutzer beispielsweise ein Element in einer Galerie-App markiert, können andere Medien-Apps erkennen, dass dieses Element zu den Favoriten hinzugefügt wurde.

Obwohl der Vortrag von Google kein Beispiel für das neue Trash-Konzept des MediaStore zeigt, ist die API seit der ersten Android 11 Developer Preview verfügbar. Entwickler Yuriy Mysochenko hat eine veröffentlicht Artikel auf Medium Bereits im Februar ging er auf diese neue API ein und er demonstrierte die API in einer Beispiel-App, wie unten gezeigt:

Neue MediaStore-Papierkorb-API in Android 11. Credits: Jurij Mysotschenko.

In dieser Demo fragte die App den Benutzer, ob er ein Foto in den Papierkorb verschieben möchte, wodurch das Foto vorübergehend aus der Galerie gelöscht würde. Nach 7 Tagen wird das Foto endgültig aus dem Speicher gelöscht. Google-Mitarbeiterin Roxanna Aliabadi erwähnt, dass das Betriebssystem gelöschte Elemente 30 Tage lang speichert, sodass das Speicherlimit von 7 Tagen wahrscheinlich seit der ersten Entwicklervorschau erhöht wurde.

Entwickler, die an der Implementierung dieser API interessiert sind, können sich die Dokumentation jetzt auf der Android Developers-Website ansehen. Medien-Apps können einen PendingIntent namens erstellen createTrashRequest um den Benutzer aufzufordern, ein Element in den Papierkorb zu werfen, wodurch dann die Markierung hinzugefügt wird IS_TRASHED Zeigt an, dass ein Medienelement in den Papierkorb verschoben wurde. Verworfene Elemente werden vom Betriebssystem aufbewahrt, bis DATE_EXPIRESAnschließend werden sie endgültig aus dem Speicher gelöscht. Medien-Apps, die den MediaStore abfragen, müssen explizit nach gelöschten Elementen fragen QUERY_ARG_MATCH_TRASHED da im Papierkorb befindliche Elemente standardmäßig aus Vorgängen herausgefiltert werden.

Sie können (und sollten) sich diesen vollständigen Vortrag über Scoped Storage anhören, wenn Ihre App den Speicherzugriff behandelt: