public class MainActivity extends AppCompatActivity {
WebView web_view;
Button but_js;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but_js = findViewById(R.id.but_js);
web_view = findViewById(R.id.web_view);
WebSettings webSettings = web_view.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
web_view.addJavascriptInterface(new JsToAndroid(),"test");
web_view.loadUrl("file:///android_asset/text.html");
web_view.setWebChromeClient(new WebChromeClient());
but_js.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String request="我来到了";
web_view.loadUrl("javascript:returnResult('"+request+"')");
}
});
}
public class JsToAndroid{
@JavascriptInterface
public void hello(final String str){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show();
}
});
}
}
}