2016-08-29 1 views

Antwort

3

Ich bin kein Android-Entwickler, aber die WebStorage#deleteAllData() Methode sieht aus, als würde es erreichen, was Sie wollen. Wenn dies nicht der Fall ist, klingt das wie ein Fehler, und ich würde empfehlen, dass Sie über den für Android-Framework-Fehler verwendeten Mechanismus nachforschen.

Alternativ, und da ich ein Web-Entwickler bin, ist hier ein JavaScript-Ansatz, um Dinge zu klären. Beachten Sie, dass das, was Sie als "Service-Mitarbeiter-Cache" bezeichnen, nicht auf Service-Mitarbeiter beschränkt ist. Die Cache Storage API ist sowohl im globalen Arbeitsbereich als auch als window.caches verfügbar, so dass sie direkt aus dem Kontext von Webseiten verwendet werden würde. So können Sie Code ausführen, der alle Caches direkt von einer Webseite Ausführungskontext löscht, ohne Reifen zu springen durch die Servicemitarbeiter auslösen:

caches.keys() 
    .then(cacheNames => Promise.all(cacheNames.map(cacheName => caches.delete(cacheName)))) 
    .then(() => console.log('Everything was deleted!')) 
    .catch(error => console.warn('Something went wrong!', error)); 

Im Gegensatz zu den WebStorage#deleteAllData() Anruf, dass JavaScript wird nur die Cache-Speicher-API löschen , so bleiben der normale HTTP-Cache sowie Cookies und anderer standortspezifischer Speicher erhalten.