清除Android图库缓存

时间:2018-03-23 11:45:42

标签: java android caching gallery clear

我使用此代码清除已安装的应用程序缓存数据,并且它在root设备上运行良好:

PackageManager  pm = getPackageManager();
    // Get all methods on the PackageManager
    Method[] methods = pm.getClass().getDeclaredMethods();
    for (Method m : methods) {
        if (m.getName().equals("freeStorage")) {
            // Found the method I want to use
            try {
                long desiredFreeStorage = 8 * 1024; // Request for 8GB of free space
                m.invoke(pm, desiredFreeStorage , null);
                Toast.makeText(this, "Cache Cleared!", Toast.LENGTH_LONG).show();
            } catch (Exception e) {
                txtView.setText(e.getMessage());
            }
            break;
        }
    }

但是此代码仅适用于已安装的应用程序,而不适用于系统安装的应用程序(图库),我想以编程方式清除图库应用程序的缓存,如下所示: Clear Gallery Cache

1 个答案:

答案 0 :(得分:0)

在非root设备上是不可能的,因为从Marshmallow开始,Android不允许这样做, 请仔细阅读这篇文章,了解更多详情, https://stackoverflow.com/a/17334600/4032259