Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从android MainActivity访问js变量_Javascript_Java_Android_Html_Webview - Fatal编程技术网

Javascript 从android MainActivity访问js变量

Javascript 从android MainActivity访问js变量,javascript,java,android,html,webview,Javascript,Java,Android,Html,Webview,我想作为android应用程序访问一个webapp,因为我所做的只是使用webview调用该webapp的url。Webapp包含一个js变量,我想将该变量访问到androids MainActivity中,如何使用android MainActivity访问不同Webapp中的js变量并为其赋值。以下是我的MainActivity代码片段 @Override public void onCreate(Bundle savedInstanceState) { super.

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

@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变量并为其赋值?

这可能会帮助您在何处实现getImageUrl();方法?您可以在js或html中调用此方法,我将从js/html中调用它,但getImageUrl()方法定义在哪里实现?在主要活动中还是在其他地方?我是否应该实施它??我很抱歉问一些非常基本的问题,我对安卓系统还不熟悉。
     // 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.
                    }
                }
            }