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方法,打印消息或弹出对话框

更多相关文章

  1. [导入]Android平台上四种保存数据的方法
  2. Android 动态切换底部tab按钮
  3. Android的关键的持久数据应该在onPause()方法中保存
  4. Android添加单元测试的方法与步骤
  5. Android Studio无法执行Java类的main方法问题及解决方法
  6. Android获取屏幕宽度的4种方法
  7. android 开发收银系统,弹出键盘固定界面UI的方法
  8. Android 的 Button 按钮实现的两种方式
  9. ImageButton动态改变按钮图片

随机推荐

  1. android源码中的设计模式举例
  2. improving Gradle build performance
  3. Android(安卓)TextView丰富多彩的字体样
  4. android customDialog自定义对话框
  5. android 从Assets中读取中文文本
  6. Android(安卓)控件布局常用属性
  7. Android(安卓)Media Recorder录音播放源
  8. 计算图片缩小比例
  9. android 图片放大于缩小
  10. android driver开发常见的英文缩写