Android(安卓)WebView中的JavaScript调用android方法
16lz
2021-12-04
1.编写MyObject类实现要被调用的android方法
public class MyObject { Context mcontext; //构造函数传入上下文 public MyObject(Context c) { mcontext=c; } @JavascriptInterface public void showToast(String name){ //Toast打印消息 Toast.makeText(mcontext, name+",你好", Toast.LENGTH_LONG).show(); } @JavascriptInterface public void showList(){ //创建对话框 new AlertDialog.Builder(mcontext) .setTitle("图书列表") .setIcon(R.drawable.ic_launcher) .setItems(new String[]{"bk1","bk2","bk3","bk4"},null) .setPositiveButton("确定", null) .create() .show(); }}
2.编写一个简单的html文件,尝试通过JavaScript调用myObj中的方法
JS调用android
3.在MainActivity中,通过将webSettings设置为允许通过JavaScript调用android方法,并为WebView添加JavaScript接口,将myObj指向MyObject类
@SuppressLint("JavascriptInterface")public class MainActivity extends Activity { WebView view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); view=(WebView)findViewById(R.id.show); view.loadUrl("file:///android_asset/test.html"); //通过将webSettings设置为允许通过JavaScript调用android方法 WebSettings webSettings=view.getSettings(); webSettings.setJavaScriptEnabled(true); //为WebView添加JavaScript接口,将myObj指向MyObject类 view.addJavascriptInterface(new MyObject(this), "myObj"); }}
运行程序,单击屏幕上的hi按钮或list按钮,将通过JavaScript调用MyObject中的android方法,打印消息或弹出对话框
更多相关文章
- 修改dialog的大小
- Android下载网络图片到本地
- Android(安卓)Studio 快捷键
- android 中让activity全屏幕显示
- Android对接webService接口
- Android中贪吃蛇游戏的学习(二)
- android 中让activity全屏幕显示
- 整理出来的一些Android基础知识
- Android(安卓)- MediaPlayer