javascript - 从 android MainActivity 访问 js 变量

标签 javascript java android html webview

我想访问一个web应用程序作为android应用程序,为此我所做的只是使用webview调用该web应用程序的url。 Web应用程序包含一个js变量,我想将该变量访问到android MainActivity中,如何使用android MainActivity访问不同web应用程序中的js变量并为其赋值。以下是我的 MainActivity 代码 fragment ,

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mWebview = new WebView(this);

        mWebview.getSettings().setJavaScriptEnabled(true);
        mWebview.getSettings().setDatabaseEnabled(true);
        mWebview.getSettings().setLoadWithOverviewMode(true);

        mWebview.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
        mWebview.setScrollbarFadingEnabled(false);
        mWebview.loadUrl("http://www.mywebapp.com");

        setContentView(mWebview);


    }

我的主要问题是如何通过位于不同 app/html 中的 androids MainActivity 访问 js 变量并为其赋值?

最佳答案

     // Call method in js or html
 Android.getImageUrl("text");

    // add this line in main activity.    
     webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");

    // js value get in this method.(add this method in activity)
    public class JavaScriptInterface {
                Context mContext;

                JavaScriptInterface(Context c) {
                    mContext = c;
                }

                @JavascriptInterface
                public void getImageUrl(String text) {
        // js value get here.
                    }
                }
            }

关于javascript - 从 android MainActivity 访问 js 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47454891/

相关文章:

此语言级别不允许使用 Android Studio Lambda 表达式

javascript - 单击按钮时增加计数器值

Javascript 在 Heroku 中不起作用,但在本地环境中不起作用

Java 循环遍历每个唯一值

java - 通过xpath获取当前节点值

java - 从一个 Activity 传递到另一个 Activity 时,int/string 值变为 "0"/null

android - 无法复制 list

javascript - Angular 2 : array. splice() 正在从 DOM 中删除元素

javascript - 如何创建 'dot function' ? (js 对象?)

java - 为什么我违反了 SonarQube java 规则 "Zero should not be a possible denominator"