2011-02-07 64 views
4

有沒有關於WebView JavaScript Bridge的文檔?我正在尋找描述在「JavascriptInterface」中定義的方法的功能和支持的數據類型的文檔。WebView JavaScript Bridge文檔

例如,如果我定義如下:

public class JavaScriptInterface { 

    public int incrementNumber(int num) { 
     return num + 1; 

} 

如果我把在JavaScript中這種方法,並在模擬器中運行它,一切似乎很好地工作。如果我在NexusOne上運行這個,傳入的「num」參數始終爲「0」。

如果我改變了上面:

public class JavaScriptInterface { 

    public int incrementNumber(String num) { 
     // Leaving out try/catch 
     int tempNum = newRadius = Integer.parseInt(num); 
     return tempNum + 1; 

} 

...一切似乎工作。所以我想知道如果JavaScriptInterface方法參數應該/只能是String類型?

相關資源: http://developer.android.com/reference/android/webkit/WebView.html http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,java.lang.String中) http://code.google.com/apis/maps/articles/android_v3.html

回答

1

您可以在Java端需要String args,或者確保這些數字是JavaScript端的實際數字(而不是數字的文本版本 - 請參閱about.com - JavaScript: Strings to Numbers)。

+0

描述謝謝你的信息。 但是,是否有一個文檔概述了可以傳遞給JavaScriptInterface方法以及支持的返回類型的支持的數據類型。 – tamsler 2011-02-08 02:14:32