2016-12-12 5 views
1

Ich benutze Android Webview, lädt die Seite und nach dem Laden der Javascript-Funktion Anrufe, aber es funktioniert nicht. Für den Test habe ich Alarmfunktion ausgeführt, es funktioniert gut.Android Webview funktioniert nicht js Funktion

Einstellungen Webansicht:

@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 nicht ("javascript: appReg (" + deviceId + "" + "Promocode);");

Wenn Anruf webView.loadUrl("javascript:alert('asd')");, arbeiten sie

Antwort

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

braucht '' hinzufügen webView.loadUrl("javascript:appReg('" + deviceId + "," + "promoCode);'");

Verwandte Themen