我希望编写一个实用程序,用户可以选择一组已安装的应用程序并清除它们的数据缓存,就像您可以使用内置的设置->应用程序设置屏幕上的“清除缓存”按钮手动执行的方式。 我该如何访问每个应用程序的缓存数据量,并以编程方式清除这些缓存?
这里给出的答案是错误的,有市场应用程序可以具有编程清除所有应用缓存功能。此外,下列内容在文档中提到:public static final String CLEAR_APP_CACHE 自:Android API Level 1 允许应用程序清除设备上所有已安装应用程序的缓存。 常量值: android.permission.CLEAR_APP_CACHE 请注意“所有已安装应用程序部分”,以及除标准用户权限外,您不需要任何根访问或特殊权限。我在这里发布是因为我的交付要求在24小时内清除店内演示电话上的所有应用程序缓存,并且我正在尝试弄清楚如何正确使用它。 我知道解决方案的一部分是获得此权限,我也知道如何找到设备上的所有已安装应用程序,并且正在努力能够实际删除缓存。 我的问题是其他应用程序缓存读取为不包含文件(尽管有内容),我怀疑是因为我没有读取访问权限来进行列表文件调用。
普通的SDK应用程序没有访问其他应用程序缓存的权限,更不用说修改了,就像它们没有黑客攻击您的文件的权利一样。在已经root的手机上,如果您的应用程序以root身份运行,则可能是可能的,此时您将不得不基于应用程序包名称手动构建路径。