Webview不显示JavaScript警报
我们使用android webview构建了一个混合应用程序,我用我的手机(LG Nexus 4)对其进行了测试。android应用程序以前曾正确显示来自网站的JavaScript警报,但最近它已停止显示相同的警报 每当要从应用程序中抛出警报而未显示任何内容时,它就会抛出以下错误Webview不显示JavaScript警报,javascript,android,webview,alert,Javascript,Android,Webview,Alert,我们使用android webview构建了一个混合应用程序,我用我的手机(LG Nexus 4)对其进行了测试。android应用程序以前曾正确显示来自网站的JavaScript警报,但最近它已停止显示相同的警报 每当要从应用程序中抛出警报而未显示任何内容时,它就会抛出以下错误 Cannot create a dialog, the WebView context is not an Activity 我怀疑这种行为是在谷歌最近更新了WebView组件之后开始的。我现在运行的是Androi
Cannot create a dialog, the WebView context is not an Activity
我怀疑这种行为是在谷歌最近更新了WebView组件之后开始的。我现在运行的是Android 5.0.1,webview版本是40(1832189 arm)
我将尝试回滚更新并检查,但我不能要求所有用户都这样做。是否有其他类似的问题报告?有解决办法吗
更新
我已卸载WebView组件的更新,并已检查。警报显示正常。如果这是一个问题,我可以在哪里报告它?以下是来自
查看此链接和最后一条评论,您必须使用WebChromeClient
以下是来自
查看此链接和最后一条评论,您必须使用WebChromeClient
这似乎是WebView构建40中引入的一个bug。根据我记录的问题,它已在版本42中修复
这似乎是WebView构建40中引入的一个bug。根据我记录的问题,它已在版本42中修复
要在Android WebView上运行JavaScript警报,请添加以下代码行:
mWebView.setWebChromeClient(new WebChromeClient());
webSettings.setJavaScriptEnabled(true);
在以下代码行之后:
mWebView.setWebChromeClient(new WebChromeClient());
webSettings.setJavaScriptEnabled(true);
最后,它应该是这样的:
webSettings.setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
要使JavaScript警报在Android WebView上工作,请添加以下代码行:
mWebView.setWebChromeClient(new WebChromeClient());
webSettings.setJavaScriptEnabled(true);
在以下代码行之后:
mWebView.setWebChromeClient(new WebChromeClient());
webSettings.setJavaScriptEnabled(true);
最后,它应该是这样的:
webSettings.setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE\系统\警报);dialog.show();我认为您必须报告play store。@Rah,“dialog”是onJsAlert.dialog.getWindow().setType的AlertDialog(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);dialog.show();我想你必须报告play store。@Rah,“对话”是onJsAlert的AlertDialog。我已经添加了WebChromeClient。这就是早期版本的WebView中弹出警报的方式。但现在升级后的WebView不起作用。谢谢。我已经添加了WebChromeClient。这就是早期版本的WebView中弹出警报的方式。但现在升级后的WebView不起作用。谢谢