【发布时间】:2014-04-19 17:57:27
【问题描述】:
我尝试通过 服务通知 运行 WebView。 WebView 工作正常,但我没有运行警报和一些 JavaScript 函数。
这就是我创建 WebView 的方式(没什么特别的):
mWebView = new WebView(mServiceContext);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);
mWebView.requestFocusFromTouch();
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setOnClickListener(new OverlayOnClickListener());
mWebView.setOnTouchListener(new OverlayOnTouchListener());
mWebView.loadUrl("file:///android_asset/www/test/test.html");
这是 test.html 文件:
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello! I am an alert box!");
console.log("clicked");
}
</script>
</head>
<body>
<input type="button" onclick="myFunction()" value="Show alert box" />
</body>
</html>
当我单击 WebView 上的按钮时,我从 JSDialogHelper 收到以下日志消息:
"Cannot create a dialog, the WebView context is not an Activity"
有没有机会解决这个问题?
【问题讨论】:
-
这对我来说开箱即用
-
@jampez77 如果WebViews can only ever reside in activities because they are a UI component,这对您有何帮助?你确定这行得通吗?
标签: javascript android webview android-context