我想访问一个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/