Android WebView中只有一个javascript警报,然后停止响应

时间:2011-06-17 15:53:17

标签: android webview freeze toast

我在WebChromeClient中为嵌入式WebView设置了一个javascript alert()处理程序:

@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;
};

不幸的是,这只显示一次弹出式Toast,然后WebView停止响应任何事件。我甚至无法使用我的菜单命令加载另一个页面。我没有在LogCat中看到错误,这可能是什么问题?

2 个答案:

答案 0 :(得分:9)

您需要在cancel()参数上调用confirm()JsResult result

答案 1 :(得分:3)

添加此

        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            result.confirm();
            Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
            return true;
        }