HTML localStorage es nulo en Android cuando se usa webview

Estoy intentando usar localstorage de mi APP local, aquí está la parte de inicialización de WebView:

static class MyWebView extends WebView { public MyWebView(Context context) { super(context); this.getSettings().setJavaScriptEnabled(true); //enable support for DOM Storage and Database this.getSettings().setDatabaseEnabled(true); this.getSettings().setDomStorageEnabled(true); String databasePath = context.getDir("database", Context.MODE_PRIVATE).getPath(); this.getSettings().setDatabasePath(databasePath); this.setVerticalScrollbarOverlay(true); } } 

Y aquí está la aplicación de prueba en JavaScript:

 function testStorage() { var storage = window.localStorage; if (storage) { try { storage.setItem("name", "Hello World!"); //saves to the database, “key”, “value” } catch (e) { alert(e.message); //data wasn't successfully saved due to quota exceed so throw an error } document.write(storage.getItem("name")); //Hello World! storage.removeItem('name'); } else { alert('Your browser does not support HTML5 localStorage. Because Storage is' + storage); } } 

Pero el problema es que el localStorage siempre es nulo, he comprobado los permisos y he creado un WebChromeClient con

 @Override public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) { quotaUpdater.updateQuota(estimatedSize * 2); } 

Que nunca se llama. ¿Alguien sabe por qué?

Gracias

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.