有没有任何方法可以通过编程方式清除所有缓存文件



我正在开发一个程序,删除所有程序的缓存。这个问题以前已经被问过很多次了,但这些解决方案要么在新版本的安卓系统中被删除,要么没有清除所有缓存,要么需要root设备。

我在Android文档中找到了一个解决方案,该解决方案添加了api 30,应该使用Activity#startActivityForResult(Intent, int)启动,这样用户就可以知道哪个应用程序正在请求清除缓存。此操作需要清单中的CCD_ 2。

我在我的清单中有这个权限,我在OnClick方法中使用以下代码:

Intent clearCache = new Intent();
clearCache.setAction(ACTION_CLEAR_APP_CACHE);
startActivity(clearCache);

但它在我的Android 11设备上不起作用。有人知道代码问题吗?

谢谢。

应该使用活动#startActivityForResult(Intent,int(,以便用户知道哪个应用程序正在请求清除缓存。

查看文档。

使用";startActivityForResult";而不是";startActivity":

//Get cache dialog
int requestCode = 999;
Intent intent = new Intent(StorageManager.ACTION_CLEAR_APP_CACHE);
activity.startActivityForResult(intent, requestCode);

最新更新