마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰에서 알림창 뜨는게 안먹힙니다..(예,아니요)

0 추천
@Override
public boolean onJsConfirm(WebView view, String url, String message,
                           final JsResult result) {
    // TODO Auto-generated method stub
    //return super.onJsConfirm(view, url, message, result);
    new AlertDialog.Builder(view.getContext())
            .setTitle("알림")
            .setMessage(message)
            .setPositiveButton("네",
                    new AlertDialog.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            result.confirm();
                        }
                    })
            .setNegativeButton("아니오",
                    new AlertDialog.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            result.cancel();
                        }
                    })
            .setCancelable(false)
            .create()
            .show();
    return true;
}
 
mWebView.setWebChromeClient(new WebChromeClient() {
안에 넣엇는데
먹히지가않습니다...
분발하는자 (1,190 포인트) 님이 2016년 10월 30일 질문

1개의 답변

0 추천
WebChromeClient 이 아니라 분발하는자 님이 만드신 커스텀한 클래스를 instance 해서 넣으셔야죠
aucd29 (218,390 포인트) 님이 2016년 10월 31일 답변
제가 실력이 낮아서 이해가 잘 안되네요..
혹시 인스턴스해서 넣으라는것이
제가 만든 웹뷰를
onJsConFirm(webview, url, result);
이런식으로 하는건가요??
WebChromeClient  를 extends 해서 onJsConfirm 를 구현한 걸 인스턴스해서 웹뷰에 넣으세요

http://stackoverflow.com/questions/6474768/are-webviewclient-and-webchromeclient-mutually-exclusive

이미 그렇게 하셨다면 js 코드를 확인해보세요
현재 onJsConfirm 코드 상으로는 큰 문제는 없어 보입니다.
...