Come svuotare la cache di ogni applicazione nel mio telefono Android programmaticamente? la cancellazione della cache è programmaticamente consentita in Android? se permesso, come? Ho già provato a cercarlo e non riesco a trovare la risposta che mi serveAndroid: Cancellare la cache programmaticamente
risposta
Per cancellare i dati dell'applicazione, provare in questo modo. Penso che ti aiuterà.
public void clearApplicationData()
{
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));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();
}
Questo è uno scenario divertente. Nella Manifest.Permission documentation
public static final String CLEAR_APP_CACHE
aggiunte a livello di API 1 Consente ad un'applicazione di cancellare le cache di tutte applicazioni installate sul dispositivo.
Costante Valore: "android.permission.CLEAR_APP_CACHE"
in modo da poter ottenere il permesso di cancellare la cache di tutte le applicazioni. Ma non credo ci sia alcun metodo nell'SDK per usare questa autorizzazione. Quindi puoi semplicemente mantenere il permesso e non fare nulla con esso. Strano da Google.
EDIT: This la discussione su google potrebbe essere di interesse. Dianne Hackborn dice specificatamente che l'autorizzazione di cui sopra non dovrebbe essere presente nell'SDK, dal momento che l'API per usarlo non è presente.
ho trovato questo:
import java.io.File;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle *) {
super.onCreate(*);
setContentView(R.layout.main);
}
@Override
protected void onStop(){
super.onStop();
}
//Fires after the OnStop() state
@Override
protected void onDestroy() {
super.onDestroy();
try {
trimCache(this);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void trimCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {
// TODO: handle exception
}
}
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;
}
}
}
// The directory is now empty so delete it
return dir.delete();
}
}
può essere utile a voi.
Ho 30 pagine nel mio progetto. Se voglio cancellare la cache come dovrei farlo. Devo aggiungere questo codice in tutte le mie classi o in una classe. – Vijay
puoi estendere l'attività in una classe con questi metodi e quindi importare quella classe in tutte le attività. –
Questo snippet può cancellare la cache di tutte le applicazioni installate sul dispositivo? –
- 1. Come posso cancellare la cache dell'app Android?
- 2. Come cancellare la cache gradle?
- 3. Cancellare programmaticamente la selezione in WPF ComboBox
- 4. Svuota la cache programmaticamente in iOS
- 5. Come cancellare/cancellare una variabile di cache
- 6. Come cancellare la cache di MKMapView?
- 7. Intellij Idea12 Impossibile cancellare la cache dell'URL
- 8. Come cancellare automaticamente la cache del volley?
- 9. Chromecast: come cancellare la cache del ricevitore
- 10. Come posso cancellare la cache DOM jQuery?
- 11. Android show tastiera programmaticamente
- 12. Come cancellare la cache del browser dal lato server?
- 13. Come cancellare la cache del browser con php?
- 14. Impossibile cancellare la cache con Symfony su Vagrant
- 15. Come posso cancellare la cache CoreBluetooth su MacOS?
- 16. Come cancellare la cache di immagini di Facebook
- 17. Come cancellare la cache dei risultati delle funzioni di ghci?
- 18. Cancellare la cache delle query in Symfony2/Doctrine
- 19. Come cancellare tutta la cache di Hibernate (ehcache) usando Spring?
- 20. Come posso cancellare la cache dell'applicazione in IE10?
- 21. Come cancellare la cache di directory/inode su MacOSX
- 22. Cancellare la cache dell'applicazione scaricata da .NET senza Mage?
- 23. Come cancellare la cache di completamento automatico md?
- 24. come cancellare la cache di dati dell'applicazione tramite il codice
- 25. Cancellare la cache di doctrine in redis su deploy
- 26. Android Layout peso programmaticamente
- 27. Android: Ripple Background Programmaticamente
- 28. Come cancellare le voci della cache APC?
- 29. Android: come cancellare la cache delle app e mantenere i dati degli utenti tramite adb?
Non è possibile utilizzare questa autorizzazione da https://developer.android.com/reference/android/Manifest.permission.html#CLEAR_APP_CACHE - Livello di protezione: sistema | firma – AndroidCoolestRulest