如何过滤 Android 中的应用私有文件?

How to filter app-private files in Android?

在 Android 内,应用程序可以使用私有文件,即只能由该应用程序查看和操作。它可以存储在任何地方,并且它的管理对于应用程序是透明的(它像任何其他文件一样被操作)。

现在应用程序有了生命,虽然它可以创建和读取文件,但有时它们已经过时,可能需要删除。显然,由于这些文件是应用程序私有的,因此只有应用程序可以删除它们。虽然可以一个一个地删除文件,但我找不到任何方法来根据文件的应用程序隐私过滤目录的文件。换句话说,如果应用程序没有保留所有应用程序私有文件的列表,则删除它们的唯一明显方法是用户从 Android 应用程序管理器中清除应用程序数据。

所以我的问题是,有没有办法以编程方式删除我的特定应用程序私有的所有文件?或者,如果没有,是否有处理应用私有文件生命周期的最佳实践?

如果您使用 Context.openFileOutput(filename, Context.MODE_PRIVATE), you can use Context.fileList() 创建文件以列出应用程序的私有文件。

对于其他 getExternal*Dir(* 是缓存、文件、媒体)可用于获取其他文件。