22

私はAndroid OS Jelly Bean 4.2の深刻なバグに直面しています。ここで私のプログラムでは、JavaScriptを使用してWebページの高さを取得しています.Android 2.2から4.1まで完全に機能していますが、Android 4.2で同じコードを使用しようとするとJavaScript インターフェイスが機能していません。

この問題を解決するにはどうすればよいですか?

4

4 に答える 4

46

Android 4.2 のドキュメントから:

注意: targetSdkVersion を 17 以上に設定した場合は、Web ページ コードで使用できるようにするメソッドに @JavascriptInterface アノテーションを追加する必要があります (メソッドもパブリックである必要があります)。アノテーションを指定しないと、Android 4.2 以降で実行しているときに Web ページからメソッドにアクセスできなくなります。

出典: Android WebView Doc

于 2012-12-18T20:50:42.030 に答える
8

ドキュメントによると:Android doc Android 4.2以降、メソッドに@JavascriptInterfaceで注釈を付ける必要があります(メソッドはパブリックである必要があります)。

于 2012-12-17T10:23:52.163 に答える
5

ターゲット API 17+ で動作する Proguard 構成:

-keep @interface android.webkit.JavascriptInterface
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}
于 2014-08-04T22:07:17.493 に答える