WebView JavaScript 桥文档

tam*_*ler 5 android android-webview

是否有任何关于 WebView JavaScript Bridge 的文档?我正在寻找描述“JavascriptInterface”中定义的方法的功能和支持的数据类型的文档。

例如,如果我定义以下内容:

public class JavaScriptInterface {

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

}
Run Code Online (Sandbox Code Playgroud)

如果我从 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;

}
Run Code Online (Sandbox Code Playgroud)

......一切似乎都有效。所以我想知道 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

typ*_*.pl 1

您可以在 Java 端要求 String args,也可以在 JavaScript 端确保数字是实际数字(而不是数字的文本版本 - 请参阅about.com - JavaScript: Strings to Numbers)。