2015-06-09 35 views
0

我得到的錯誤在Android 4.3NoSuchMethod的WebView evaluatejavascript

「沒有用的名字= 'evaluateJavascript' 在Landroid/WebKit的/ Webiew方法」 這是我在WebViewClient正在做:

public override bool ShouldOverrideUrlLoading (WebView view, string url) 
    { 
     if(url.Contains ("addsResponseLoaded")) 
     { 
      view.EvaluateJavascript ("window.giveMeMyResponse();", controller.JSResultObj); 
      //view.StopLoading(); 
      return false; 
     } 
     return true; 
    } 

這種情況只發生在舊版本的android和特定設備上,如htc和galaxy。我怎樣才能得到一個JavaScript功能的Android舊版本比android kitkat的返回值?

回答

0

簡單瞭解一下開發商page

public void evaluateJavascript (String script, ValueCallback<String> resultCallback) 

Added in API level 19 

你的minSdkVersion至少應爲19,此方法才能正常工作。

如果您需要評估在較早版本的Android中的JavaScript(3+),這裏是一個小庫:

https://github.com/evgenyneu/js-evaluator-for-android

+0

我如何支持舊版本? – Joske369

+0

恐怕你需要某種類型的庫。請參閱https://github.com/evgenyneu/js-evaluator-for-android –

+0

認真?有沒有別的辦法? – Joske369

0

另一種選擇

webView.loadUrl("javascript:alert(injectedObject.toString())");