Android WebView不起作用JS功能



i使用Android WebView,它加载页面,加载JavaScript函数调用,但它不起作用。对于测试,我运行了警报功能,它运行良好。

设置WebView:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webView = (WebView) findViewById(R.id.webView);
        webView.setWebChromeClient(new WebChromeClient());
        webView.getSettings().setDomStorageEnabled(true);
        webView.getSettings().setUseWideViewPort(true);
        webView.getSettings().setJavaScriptEnabled(true);
    webView.addJavascriptInterface(new myJavaScriptInterface(), "CallToAnAndroidFunction");
    if (Build.VERSION.SDK_INT >= 19) {
        // chromium, enable hardware acceleration
        webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    } else {
        // older android version, disable hardware acceleration
        webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }
    webView.loadUrl("url");
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            // Make a note that the page has finished loading.
            authorization();
        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
        }
    });
private void authorization() {
      webView.loadUrl("javascript:appReg(" + deviceId + "," + "promoCode);");
    }

不起作用 webview.loadurl(" javaScript:appReg(" deviceid "," " promocode);");

如果致电webView.loadUrl("javascript:alert('asd')");,它可以工作

webView.loadUrl("javascript:appReg(" + deviceId + "," + "promoCode);");

需要添加'' webView.loadUrl("javascript:appReg('" + deviceId + "," + "promoCode);'");

最新更新