본문 바로가기

Development/Android

안드로이드 WebChromeClient 에서 Web 브라우저 이벤트 구현하기.

안드로이드의 WebChromeClient 에서 'alert' 이나 '윈도우 닫기' 등의 Web 브라우저 이벤트 구현하기.

WebViewClient 가 아닌 WebChromClient 를 상속받는다.



..........
WebView mWeb;
..........
mWeb.setWebChromeClient(new MyWebChromeClient());
..........
private class MyWebChromeClient extends WebChromeClient {
    @Override

    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        final JsResult finalRes = result;

        new AlertDialog.Builder(view.getContext())
        .setMessage(message)
        .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                finalRes.confirm(); 
            }
        )}
        .setCancelable(false)
        .create()
        .show();
        
        return true;
    } 
}