Android 4.2中對WebView.addJavascriptInterface()的修改

若是您在編寫HTML5應用,須要在JS代碼中訪問Java中的函數,則您會用到WebView的addJavascriptInterface()函數。由於安全問題,在Android4.2中(若是應用的android:targetSdkVersion數值爲17+)JS只能訪問帶有 @JavascriptInterface註解的Java函數。 android

以前,任何Public的函數均可以在JS代碼中訪問,而Java對象繼承關係會致使不少Public的函數均可以在JS中訪問,其中一個重要的函數就是  getClass()。而後JS能夠經過反射來訪問其餘一些內容。經過引入 @JavascriptInterface註解,則在JS中只能訪問 @JavascriptInterface註解的函數。這樣就能夠加強安全性。 安全

若是您的應用android:targetSdkVersion數值爲17或者大於17記得添加 @JavascriptInterface 註解。 函數

相關文章
相關標籤/搜索