| [개발 Tip] WebView 에서 자바 스크립트 사용예 |
|
|
 |
10년 전 |
1. WebView(안드로이드) Javascript함수 호출하기
webView.loadUrl("javascript:callJS('Android')");
형식> javascript:호출 메소드명
2. Javascript에서 Android 호출하기
/** Object exposed to JavaScript */
private class AndroidBridge {
public void callAndroid(final String arg) { // must be final
handler.post(new Runnable() {
public void run() {
Log.d(TAG, "callAndroid(" + arg + ")");
textView.setText(arg);
}
});
}
}
1) 자바스크립트를 사용 가능하도록 설정한다.
webView.getSettings().setJavaScriptEnabled(true);
2) WebView에 Javascript Interface를 추가해준다.
webView.addJavascriptInterface(new AndroidBridge(),"AJInterface");
3) HTML페이지에서 다음과 같은 방식으로 호출한다.
window.AJInterface.callAndroid('Hello from Browser')
AJInterface는 addJavascriptInterface의 두번째 인자와 같다.
3. 자바스크립트 리스너 달기
아래와 같이 WebView의 setWebChromeClient를 이용한다.
위 예제는 Javascript의 alert메소드 발생시 이벤트이다.
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(final WebView view,
final String url, final String message,
JsResult result) {
Log.d(TAG, "onJsAlert(" + view + ", " + url + ", "
+ message + ", " + result + ")");
Toast.makeText(LocalBrowser.this, message, 3000).show();
result.confirm();
return true; // I handled it
}
});
|
|
추천 : 477 |
추천
목록
|
|