7

Verzeichnisbaum Picker vonSaubere Geschichte (aktuelle Ordner) in Android 5+ Verzeichnisbaum Picker (ACTION_OPEN_DOCUMENT_TREE)

erstellt
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); 
... 

auf Android 5+ speichert alle aufgenommenen Verzeichnisse Geschichte zum Recent Ordner:

enter image description here

...

gibt es eine Möglichkeit, wie diese Geschichte zu löschen?

+0

Haben Sie aus 'DocumentsProvider' versucht? –

+0

@Nikola Despotoski Nein. Sie meinen, anstatt die ACTION_OPEN_DOCUMENT_TREE Intent zu verwenden? – Metatron

Antwort

4

Die recents Geschichte wird in einer Datenbank gespeichert, die befindet:

/data/data/com.android.documentsui/databases/recents.db 

es ist also nicht zugänglich für die anderen Anwendungen, es sei denn, das Gerät wurzelt.

Es gibt eine ContentProvider (RecentsProvider), der die Datenbank verwaltet, aber leider ist es nicht exported, so dass nur Anwendungen, die die gleiche Benutzer-ID (UID) als Anbieter haben [1] Zugriff darauf haben.

Es gibt auch eine BroadcastReceiver (PackageReceiver), die die ContentProvider steuert und reinigen die recents aber leider nur er erhält ACTION_PACKAGE_FULLY_REMOVED[2] und ACTION_PACKAGE_DATA_CLEARED[3]. Beide Absichten sind geschützt und können nur vom System gesendet werden.

tl; dr Leider können Sie die recents nicht reinigen. Die einzige praktikable Lösung besteht darin, die gesamten Daten der App "Dokumente" zu löschen. In diesem Fall gehen jedoch alle Einstellungen verloren.

+0

Danke. Es ist eine komplexe Antwort auf meine Frage. – Metatron