带有PhoneGap的Android应用程序:调用addJavascriptInterface的InvocationTarget异常

时间:2011-04-12 11:28:17

标签: android cordova

我正在使用Android SDK和PhoneGap来创建原生Android应用。现在我想在视图中使用Java方法,通过JS方法调用。

在Main Class中,我调用了“addJavascriptInterface”方法来将java类与视图绑定。

public class App extends DroidGap {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        appView.addJavascriptInterface(new JavaScriptInterface(this), "Android");        

        super.loadUrl("file:///android_asset/www/index.html");
    }
}

问题是当程序执行“appView.addJavascript ...”行并且程序在设备上崩溃时,我得到一个InvocationTarget异常。

这里有解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

从JavaScript调用Java方法正是PhoneGap插件启用的方法。查看几个示例here

答案 1 :(得分:1)

在super.init()之前使用addJavascriptInterface;可以使应用程序崩溃。

您应该尝试以下方法:

public class App extends DroidGap {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        super.init();

        appView.addJavascriptInterface(new JavaScriptInterface(this), "Android");        

        super.loadUrl("file:///android_asset/www/index.html");
    }
}