IT모아

[안드로이드] 웹뷰(WebView 에서 자바스크립트 alert 띄우기 본문

안드로이드

[안드로이드] 웹뷰(WebView 에서 자바스크립트 alert 띄우기

아롱사태남 2016.09.13 19:53



웹뷰로 구성된 화면에서 자바스크립트로 alert 메시지를 띄울때 WebViewClient 로만 구성할 경우 alert 메시지가 뜨지 않습니다.

이 경우는 기존의 WebViewClient 는 그대로 두고 추가로 WebChromeClient 를 추가해 주면 됩니다.

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
        view.stopLoading();
        view.loadUrl(overrideUrl);
        return false;
    }

    public void onReceivedError(WebView view, int errorCode, String description, String fallingUrl) {
        view.loadData("<html><body></body></html>", "text/html", "UTF-8");
    }
});

위 코드는 기존의 WebViewClient 를 사용한 경우입니다. WebChromeClient 를 추가해 줍니다.

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result) {
        new AlertDialog.Builder(myApp)
                .setTitle("Alert title")
                .setMessage(message)
                .setPositiveButton(android.R.string.ok,
                        new AlertDialog.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                result.confirm();
                            }
                        })
                .setCancelable(false)
                .create()
                .show();
        return true;
    }
});


0 Comments
댓글쓰기 폼