WebView JavaScript Bridge文档

时间:2011-02-07 22:56:05

标签: android android-webview

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

唯一相关的官方文件在这里: http://developer.android.com/guide/webapps/webview.html 但没有关于可用类型的描述