Ich versuche eine Android-App zu entwickeln, die andere Anwendungs-Cache-Daten löschen könnte. Ich habe versucht, alle Blogs zu durchsuchen, aber keiner von ihnen hat für mich funktioniert. Ich bin in der Lage meiner Anwendung Cache durch den folgenden Code
Wie andere Anwendungen Cache von einer anderen Android-App in Marshmallow löschen?
Referenz zu löschen:
How to delete other applications cache from our android app?
private static final long CACHE_APP = Long.MAX_VALUE;
private CachePackageDataObserver mClearCacheObserver;
btnCache.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clearCache();
}
});//End of btnCache Anonymous class
void clearCache()
{
if (mClearCacheObserver == null)
{
mClearCacheObserver=new CachePackageDataObserver();
}
PackageManager mPM=getPackageManager();
@SuppressWarnings("rawtypes")
final Class[] classes= { Long.TYPE, IPackageDataObserver.class };
Long localLong=Long.valueOf(CACHE_APP);
try
{
Method localMethod=
mPM.getClass().getMethod("freeStorageAndNotify", classes);
/*
* Start of inner try-catch block
*/
try
{
localMethod.invoke(mPM, localLong, mClearCacheObserver);
}
catch (IllegalArgumentException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IllegalAccessException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (InvocationTargetException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
/*
* End of inner try-catch block
*/
}
catch (NoSuchMethodException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}//End of clearCache() method
private class CachePackageDataObserver extends IPackageDataObserver.Stub
{
public void onRemoveCompleted(String packageName, boolean succeeded)
{
}//End of onRemoveCompleted() method
}//End of CachePackageDataObserver instance inner class
Und auch ein Paket in Ihrem src Ordner mit dem Namen android.content.pm
innerhalb dieses Pakets erstellen erstellen eine Datei mit dem Namen IPackageDataObserver
.aidl und fügen Sie den folgenden Code ein
und in Ihrem Manifest stellen Sie sicher, verwenden Sie den folgenden Code
<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/>
Above erfolgreich gelöscht Codes bis Lollipop aber, wenn dieser Code in Marshamallow ausführen, dann ist es alle Daten nicht klar. Warum es ist ??????????????
Alle Vorschläge werden akzeptiert. oder eine andere Art zu lösen. Vielen Dank.
Ich habe das gleiche Problem. Wenn Sie irgendeine Lösung finden, teilen Sie sie mir bitte mit –