당신은 바로 가고 있습니다. onwebFinish 함수에서 webview에 URL을로드 한 후 (onPageFinish 함수에서 완료된 페이지 로딩을 catch 할 수 있습니다.) 다음과 같이 js를 호출합니다.
하지만 먼저이 코드로 webview에 대한 권한을 부여해야합니다 블록 :
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
webview.loadUrl("javascript:setPageHeight("+contentHeight+");"); // you can pass param with call js function at loaded page.
webview.loadUrl("javascript:alert('test');"); // or you can call like this
테이크 결과 PARAM를 들어 웹보기에서 JS하면 반드시 이와 같은 서브 클래스 :
그런 다음 정의에 당신의 웹보기에이 줄
class JavaScriptInterface {
public void showToast(String msg) {
Toast.makeText(mContext, "Received Msg :" + msg,Toast.LENGTH_SHORT).show();
}
}
웹보기 라인
,
webview.addJavascriptInterface(new JavaScriptInterface(), "MyAndroid");
마지막으로이 같은 JS에서 HTML에서 자바 함수를 호출 :
<html>
<head>
<script type="text/javascript">
function sayHello(msg){
//calls Android's JavaScriptInterface Function
MyAndroid.showToast(msg);
}
</script>
</head>
<body >
<div onclick="sayHello('hello')"> Click Me !! </div>
</body>
</html>