Android/Technic

Android webview에서 Alert 띄우기

등촌동 꼬북이 2021. 6. 16. 17:54

안드로이드 웹뷰에서 Javascript로 만든 Alert를 띄워야 할 때가 있다

 

이럴때 그냥 하면 Alert가 안뜨더라...

 

그래서

 

아래의 코드를 추가하자

 

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

 

내가 구현한 시스템에서는 onClick을 공백으로 두면 웹뷰가 멎어버리는 현상이 있는데 그냥 result.confirm()을 해주면

잘되더라...

 

왜인진 모르겠지만 나중에 찾아봐야겠다