Android如何从JavascriptInterface上调用Activity上的方法

时间:2013-09-10 13:02:35

标签: android methods

我有一个webview,其HTML包含一个名为Android.closeRegForm()的链接 在WebAppInterface中我有一个方法

@JavascriptInterface
    public void closeRegForm() {
        ((MainActivity)mContext).closeRegForm();
    }

必须在MainActivity上调用closeRegForm方法,但我收到此错误。

09-10 12:54:50.134: E/Web Console(1171): Uncaught Error: Error calling method on NPObject. at http://example.com/aaa.php:1

当我将此方法更改为

@JavascriptInterface
    public void closeRegForm() {
        Toast.makeText(mContext, "blabla", Toast.LENGTH_SHORT).show();
    }

它显示“blabla”吐司。为什么我不能在mainactivity上调用方法?

1 个答案:

答案 0 :(得分:2)

您必须在MainActivity中添加不同名称的功能

public void closeRegForm1() {
    //Anything
}

注意:这应该是公开的

然后打电话给

@JavascriptInterface
public void closeRegForm() {
    ((MainActivity)mContext).closeRegForm1();
}