我在WebView中运行了一些JavaScript。在这个Javascript代码中有一个返回布尔值的函数。我想检查这个函数的返回值,并依赖它隐藏或不在我的android代码中的视图。我尝试了一天,它不起作用。有人知道我的错误在哪里吗?这是我的代码:在WebView中调用Android方法的Javascript
public class MyActivity extends Activity {
private static final String JS_INTERFACE = "Android";
....
webView.getSettings().setJavaScriptEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webView.loadUrl(getUrl(this.getResources().getString(R.string.host)));
webView.addJavascriptInterface(new WebViewJavaScriptInterface(this), JS_INTERFACE);
webView.setWebViewClient(new WebViewClient(progressBar, this, tvError));
webView.setWebChromeClient(new WebChromeClient(progressBar));
webView.loadUrl("javascript:window.Android.showAdBanner(showSdkAd())");
}
public class WebViewJavaScriptInterface
{
....
@JavascriptInterface
public void showAdBanner(String jsResult) {
if (jsResult == "true") {
((Activity) context).findViewById(R.id.adView).setVisibility(View.GONE);
} else {
((Activity) context).findViewById(R.id.adView).setVisibility(View.GONE);
}
}
}
什么是'showSdkAd()'? –
这是返回一个布尔值的javascript函数,以了解是否必须隐藏视图 – IrApp
if(jsResult ==“true”)'should'if(jsResult == true)' –