Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Only one javascript alert in Android WebView, then it stops responding

I set up a javascript alert() handler in a WebChromeClient for an embedded WebView:

@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)  
{
  Log.d("alert", message);
  Toast.makeText(activity.getApplicationContext(), message, 3000).show();
  return true;
};

Unfortunately, this only shows a popup toast once, then the WebView stops responding to any events. I can't even use my menu command to load another page. I don't see errors in LogCat, what could be the problem here?

like image 742
NoBugs Avatar asked Nov 17 '25 14:11

NoBugs


2 Answers

You need to invoke cancel() or confirm() on the JsResult result parameter.

like image 136
Mike Avatar answered Nov 20 '25 05:11

Mike


add this

        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            result.confirm();
            Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
            return true;
        }
like image 24
jemrlee Avatar answered Nov 20 '25 04:11

jemrlee