セキュリティ絡みの問題でJavascriptからアプリ上のJavaメソッドをコールする対象へ@JavascriptInterfaceアノテーションを付ける必要があります*1。このアノテーションを付けないとAndroid4.2以上の端末ではJavaメソッドがコールされません。以下、付けてみたサンプルコードです。
// getHogeメソッドはJavascriptからコールされる対象 public class LinkInterface { @JavascriptInterface public String getHoge() { return "hoge"; } }
この時にProguard設定に注意する事があります。何の設定もしていないと暗号化され、アノテーションが無効になってしまいます。そこで以下の1文をproguard-project.txtもしくはproguard.cfgに追記すればOKです。
-keepattributes *Annotation*