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