在Android中从JavaScript中存储参数

Storing parameter from JavaScript in Android

本文关键字:存储 参数 JavaScript Android 中从      更新时间:2023-09-26

我有一个JavascriptInterface和setter/getter在我的Android代码:

mWebView.addJavascriptInterface(new AccessibleMethods(), "Android");
private class AccessibleMethods {
    private boolean isWorking;
    public void setIsWorking(boolean working)
    {
        this.isWorking = working;
        // A toast message here of this.isWorking displays true
    }
    public boolean getIsWorking()
    {
        return this.isWorking;
    }
}
在我的JavaScript代码中,我调用函数:
Android.setIsWorking(true);

但是当我试图访问isWorking在Java中的另一个方法或类外,它没有正确的值。

AccessibleMethods methods = new AccessibleMethods();
methods.getIsWorking(); // returns wrong or no value

我需要这个来访问一个JavaScript变量onKeyDown。

有什么建议吗?

如果你想共享JavaScript传递的数据,你应该在方法调用中使用相同的对象实例,或者使用实例变量。

private AccessibleMethods methods = new AccessibleMethods();
//... 
mWebView.addJavascriptInterface(methods, "Android");
//..
boolean isWorking = methods.getIsWorking();