WebView 的 public void setWebChromeClient (WebChromeClient client)。此方法用處很多,我覺得里面的onJsAlert() onJsConfirm() onJsPrompt() 方法很好。
在WebChromeClient類里可以重寫這三個方法,此時WebView中加載的html中如果執行alert("alert....");? ? confirm("confirm...");? prompt("prompt...", "defaultValue") 這三個方法,該類就會監聽到執行對應的三個方法。我們可以讓這三個方法的返回值為true ,即自定義此方法。在里面寫入自己定義的Dialog,便可實現html與Activity交互。
注意 JsResult 此類需要在操作時,如果操作則 result.cofirm(). 取消則 result.cancel();? ? 還必須這每一個方法中寫入 dialog.setOnkeyListener(); 方法來監聽Back鍵,listener中 ? ? 要寫 result.cancel();? 否則系統沒有消費這個事件,會出錯。
js調用Java:
點擊H5中的按鈕,去執行js方法,js方法中又去調用Java方法(window.name.方法名)
Java調用js:
webView.loadUrl("javascript:show('" + json + "')");? 其中show()是js中的方法