我在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)' –