7

目录树选择器创建者

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

在 Android 5+ 上,将所有选择的目录历史记录保存到Recent文件夹中:

在此处输入图像描述

...

有没有办法抹去这段历史?

4

1 回答 1

4

最近的历史记录保存在数据库中,该数据库位于:

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

因此,除非设备已植根,否则其他应用程序无法访问它。

有一个ContentProvider( RecentsProvider ) 管理数据库,但不幸的是它没有被导出,因此只有与提供者具有相同用户 ID (UID) 的应用程序才能访问它[1]

还有一个BroadcastReceiverPackageReceiver)控制ContentProvider和清除最近的,但不幸的是它只接收ACTION_PACKAGE_FULLY_REMOVED[2]ACTION_PACKAGE_DATA_CLEARED [3]。这两个意图都受到保护,它们只能由系统发送。

tl;dr不幸的是,您无法清理最近的内容。唯一可行的解​​决方案是清除 Documents 应用程序的全部数据,但在这种情况下,所有设置都会丢失。

于 2015-11-07T10:21:02.747 回答