目录树选择器创建者
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
...
在 Android 5+ 上,将所有选择的目录历史记录保存到Recent
文件夹中:
...
有没有办法抹去这段历史?
目录树选择器创建者
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
...
在 Android 5+ 上,将所有选择的目录历史记录保存到Recent
文件夹中:
...
有没有办法抹去这段历史?
最近的历史记录保存在数据库中,该数据库位于:
/data/data/com.android.documentsui/databases/recents.db
因此,除非设备已植根,否则其他应用程序无法访问它。
有一个ContentProvider
( RecentsProvider ) 管理数据库,但不幸的是它没有被导出,因此只有与提供者具有相同用户 ID (UID) 的应用程序才能访问它[1]。
还有一个BroadcastReceiver
(PackageReceiver)控制ContentProvider
和清除最近的,但不幸的是它只接收ACTION_PACKAGE_FULLY_REMOVED
[2]和ACTION_PACKAGE_DATA_CLEARED
[3]。这两个意图都受到保护,它们只能由系统发送。
tl;dr不幸的是,您无法清理最近的内容。唯一可行的解决方案是清除 Documents 应用程序的全部数据,但在这种情况下,所有设置都会丢失。