MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAppCacheEnabled(true);
// 用于JavaScript访问Android里的映射类
webView.addJavascriptInterface(new JsInterface(this),"nativeMethod");
webView.loadUrl("http://www.baidu.com/");
setContentView(webView);
}
JsInterface.java
public class JsInterface {
private Context context;
// 接收addJavascriptInterface方法传来的参数
public JsInterface(Context context) {
this.context = context;
}
// 必须打「JavascriptInterface」的注解,JavaScript才能访问该方法
@JavascriptInterface
public void hello() {
Toast.makeText(context, "Hello JavaScript!",
Toast.LENGTH_SHORT).show();
}
}
AndroidManifest.xml
添加网络权限
<application android:usesCleartextTraffic="true"> </application>
<uses-permission android:name="android.permission.INTERNET"/>
android studio 添加webview 并js调用原生方法
于 2022-08-25 11:19:22 首次发布