localStorage html5-Funktion funktioniert in WebView auf Samsung-Android-Geräten nicht

Ich habe eine HTML5-Anwendung, die ich mit einem WebView einbinde. Zum Speichern und Abrufen von Benutzereingabewerten zwischen Seiten verwende ich daslokaler Speiche html5 Funktion.

Es funktioniert gut auf meinem Nexus 4 (Android 4.4.4), aber es funktioniert nicht auf Samsung Galaxy Tab 2 (Android 4.3.x) (= nichts passiert, aber auch kein Fehler in logcat). Oder, um es klarer zu machen:ei Samsung funktioniert es nicht, wenn die HTML-Seiten aus dem Asset-Ordner der App geladen werde. Es funktioniert jedoch, wenn ich die Seiten auf einen Server lege, wie unten in der Kommentarzeile angegeben.

Unter Nexus 4 funktioniert das Laden jedoch auch aus der Datei: /// android_asset / und wenn ich die Seiten in einem Desktop-Browser (Chrome, Firefox) aus der Datei: // path lade, funktioniert es auch.

Update 1: Ich hatte gerade einen anderen Benutzer, der das Problem mit einem LG-Gerät gemeldet hat. Es scheint also nicht Samsung-spezifisch zu sein.

Update 2: Das Speichern und Laden des Werts von localStorage funktioniert auf allen Geräten auf derselben Seite, jedoch nicht zwischen verschiedenen Seiten. In meinem Beispiel kann ich den Wert in 01_home.html speichern und abrufen. Wenn ich jedoch zu einer anderen Seite im Ordner android_asset gehe, kann ich ihn nicht mehr lesen (auf LG- und Samsung-Geräten). Funktioniert aber gut auf Nexus 4.

Niedrig sind die Einstellungen der Webansicht.

    webView = (WebView)this.findViewById(R.id.webView);
    webViewClient = new MyWebViewClient(this);
    webViewClient.setSm(sm);
    webView.setWebViewClient(webViewClient);
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setDomStorageEnabled(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    webView.getSettings().setAppCacheEnabled(false);
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setBuiltInZoomControls(false);
    webView.getSettings().setSupportZoom(false);
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);

    webView.loadUrl("file:///android_asset/01_home.html"); // does NOT work!
    // webView.loadUrl("http://192.168.178.33/01_home.html"); // does work!

Lokaler Speichercode auf den Seiten:

// storing
var data = document.getElementById('data').value;
window.localStorage.setItem((1), data);

// reading
document.getElementById('data').value = window.localStorage.getItem(1);

Antworten auf die Frage(2)

Ihre Antwort auf die Frage