La interfaz de JavaScript no funciona con Android 4.2

Estoy frente a un grave error de Android Jelly Bean 4.2, aquí en mi programa estoy usando JavaScript para obtener la altura de la página web y está perfectamente trabajando desde Android 2.2 a 4.1, pero cuando traté de usar el mismo código en android 4.2 por lo que La interfaz JavaScript no funciona.

¿Cómo puedo solucionar este problema?

De la documentación de Android 4.2:

Precaución: Si ha establecido su targetSdkVersion a 17 o superior, debe agregar la anotación @JavascriptInterface a cualquier método que desee que disponga de su código de página web (el método también debe ser público). Si no proporciona la anotación, el método no será accesible por su página web cuando se ejecute en Android 4.2 o superior.

Fuente: Android WebView Doc

Y, si está usando Proguard, recuerde agregar esto

-keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; } -keepattributes JavascriptInterface -keep public class com.mypackage.MyClass$MyJavaScriptInterface -keep public class * implements com.mypackage.MyClass$MyJavaScriptInterface -keepclassmembers class com.mypackage.MyClass$MyJavaScriptInterface { <methods>; } 

Si todavía no está bien, agregue esto

 -keepattributes *Annotation* 

Nota: su MyJavaScriptInterface debe ser clase pública

Ref #: Error de la interfaz de Android Proguard Javascript

De acuerdo con el doc: Android doc Desde Android 4.2 tienes que anotar tu método con @JavascriptInterface (y tu método tiene que ser público).

Configuración de Proguard que funciona para mí con la API de destino 17+:

 -keep @interface android.webkit.JavascriptInterface -keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; } 
  • Ionic2 + Angular2 o Reactivo-nativo?
  • Cordova FileTransfer plugin params está vacío en Android
  • Cordova error javascript: no tiene método startsWith Android
  • ¿Cómo puedo encontrar la ventana virtual / ancho de pantalla con Javascript?
  • Formato de fecha recuperado de un servicio
  • Navegador por defecto de Samsung Mobile AngularJS $ http Solicitud POST fallando
  • Instalando el plugin facebook de phonegap
  • Phonegap / Cordova pausa evento desencadenado en el curriculum vitae para Android; No puede desactivar el audio como resultado
  • Websocket en Android 4.4 con Phonegap
  • Phonegap 3 - Alerta que si hago clic en ok crashes broswer
  • Cómo detectar el contacto del usuario con el espacio telefónico usando JS
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.