Интерфейс Javascript не работает с android 4.2

Я столкнулся с серьезной ошибкой android OS Jelly Bean 4.2, здесь, в моей программе, я использую JavaScript, чтобы получить высоту веб-страницы, и он отлично работает от android 2.2 до 4.1, но когда я попытался использовать тот же код в android 4.2, Интерфейс JavaScript не работает.

Как я могу исправить эту проблему?

Solutions Collecting From Web of "Интерфейс Javascript не работает с android 4.2"

Из документации Android 4.2:

Внимание: если вы установили targetSdkVersion в 17 или выше, вы должны добавить аннотацию @JavascriptInterface к любому методу, по которому вы хотите получить код своей веб-страницы (этот метод также должен быть общедоступным). Если вы не предоставите аннотацию, метод не будет доступен вашей веб-странице при работе на Android 4.2 или выше.

Источник: Android WebView Doc

И если вы используете Proguard, не забудьте добавить это

-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>; } 

Если это еще не все, добавьте это

 -keepattributes *Annotation* 

Примечание: ваш MyJavaScriptInterface должен быть открытым классом

Ref #: Ошибка интерфейса Javascript Android Proguard

Согласно документу: Android doc Начиная с Android 4.2 вы должны аннотировать свой метод с помощью @JavascriptInterface (и ваш метод должен быть общедоступным).

Конфигурация Proguard, которая работает для меня с целевым API 17+:

 -keep @interface android.webkit.JavascriptInterface -keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; }