2011-02-07 63 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