Como excluir outro cache de aplicativos do nosso aplicativo android?

Estou tentando desenvolver um aplicativo para Android que poderia apagar outros dados de cache de aplicativos, tentei navegar por todos os blogs, mas nenhum deles funcionou para mim, eu posso capaz de limpar o cache do meu aplicativo pelo seguinte código

File cache = getCacheDir();
            File appDir = new File(cache.getParent());
            if (appDir.exists()) 
            {
                String[] children = appDir.list();
                for (String s : children) 
                {
                    if (!s.equals("lib"))
                    {
                        deleteDir(new File(appDir, s));
                        Toast.makeText(DroidCleaner.this, "Cache Cleaned", Toast.LENGTH_LONG).show();
                        Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
                    }
                }
            }

public static boolean deleteDir(File dir) 
{
    if (dir != null && dir.isDirectory()) 
    {
        String[] children = dir.list();
        for (int i = 0; i < children.length; i++) 
        {
            boolean success = deleteDir(new File(dir, children[i]));
            if (!success) 
            {
                return false;
            }
        }
    }
    return dir.delete();
}

Meu código de manifesto

<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/>

Eu testei o código em 2.2, 2.3 e 4.0

e depois de ver o post no link a seguirAndroid: Limpar cache de todos os aplicativos?

Eu mudei meu código para

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 * 1024 * 1024; // Request for 8GB of free space
        m.invoke(pm, desiredFreeStorage , null);
    } catch (Exception e) {
        // Method invocation failed. Could be a permission problem
    }
    break;
   }
}

Eu quero limpar o cache de outro aplicativo, pode qualquer corpo por favor me ajude, por favor me corrija se eu estiver errado, Obrigado antecipadamente.

questionAnswers(3)

yourAnswerToTheQuestion