jquery - ¿Los navegadores de Android webview son compatibles con las características html5?
(4)
Tengo una aplicación web basada en HTML5 que quiero que se integre con WebView. ¿Los navegadores de Android webview son compatibles con las características html5?
En su navegador de Android, abra este enlace: http://html5test.com que le dará toda la información que necesita: reglas de análisis, lienzo, video, audio, elementos, formularios, aplicaciones web ...
Gracias @theomega. Utilicé la siguiente manera para habilitar el uso de toques suaves para hacer una selección y activar el mouseovers.
try {
WebSettings.class.getMethod("setLightTouchEnabled", new Class[]{Boolean.TYPE});
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
No especificaste qué características estás buscando exactamente,
pero Android (y iOS) utilizan Webkit. Entonces sí.
Una vista WebView
admite, pero hay que encenderlos . Uso el siguiente código que activa todas las funciones disponibles. Esto es necesario porque los cachés de aplicaciones, por ejemplo, no son compatibles con todas las versiones de Android:
wv = (WebView) findViewById(R.id.webview);
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
ws.setAllowFileAccess(true);
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.ECLAIR) {
try {
Log.d(TAG, "Enabling HTML5-Features");
Method m1 = WebSettings.class.getMethod("setDomStorageEnabled", new Class[]{Boolean.TYPE});
m1.invoke(ws, Boolean.TRUE);
Method m2 = WebSettings.class.getMethod("setDatabaseEnabled", new Class[]{Boolean.TYPE});
m2.invoke(ws, Boolean.TRUE);
Method m3 = WebSettings.class.getMethod("setDatabasePath", new Class[]{String.class});
m3.invoke(ws, "/data/data/" + getPackageName() + "/databases/");
Method m4 = WebSettings.class.getMethod("setAppCacheMaxSize", new Class[]{Long.TYPE});
m4.invoke(ws, 1024*1024*8);
Method m5 = WebSettings.class.getMethod("setAppCachePath", new Class[]{String.class});
m5.invoke(ws, "/data/data/" + getPackageName() + "/cache/");
Method m6 = WebSettings.class.getMethod("setAppCacheEnabled", new Class[]{Boolean.TYPE});
m6.invoke(ws, Boolean.TRUE);
Log.d(TAG, "Enabled HTML5-Features");
}
catch (NoSuchMethodException e) {
Log.e(TAG, "Reflection fail", e);
}
catch (InvocationTargetException e) {
Log.e(TAG, "Reflection fail", e);
}
catch (IllegalAccessException e) {
Log.e(TAG, "Reflection fail", e);
}
}