前段时间,才接触这个。看了 很多博客,但是,就是搞不出来。跟别人写的基本一样。哎。愚笨了。谢谢群里帮助我的 大神们,来说说其中的细节吧。

调用前的准备:

//**细节①**webView.addJavascriptInterface(this,"app");...

第一种:Java(原生) 调用 Js。

webView.postDelayed(new Runnable() {    @Override    public void run() {    //**细节②** javascript+goods_lists()方法名字。   //如果带有参数"javascript:goods_lists('"+id+"','"+name+"')"多个参数请用逗号隔开。        mStyleWv.loadUrl("javascript:goods_lists()");        //LoadDialog.dismiss(getContext());    }}, 1000);//**细节③**就是这里,坑了我不止一天时间。 这里采用的一个线程,主要是避免HTML页面 还没加载完毕就调用了JS 方法。 这里设置1S后执行。//在XML中引入写js方法的文件。

第二种:Js调用Java。

//**细节①**,这个注解一定要加。@JavascriptInterface//简单点,点击JS中的按钮,跳转到原生页面,我这里有参数,可以不写。public void SkipParisonof(String id,String img,String name,String num,String price) {    Intent intent=new Intent(getContext(), ComParisonofIndentActivity.class);    intent.putExtra("scomm_id",id);    intent.putExtra("scomm_img",img);    intent.putExtra("scomm_name",name);    intent.putExtra("scomm_price",price);    intent.putExtra("scomm_num",num);    startActivity(intent);}//XML那边的,调用方法,没有参数的话,window.app.SkipParisonof()"<li class="active"><a onclick="window.app.SkipParisonof('0')">全部</a></li>

第三种:就是,js调用java 之后,Java 再调用一下Js方法。
应用场景:比如,原生这边没有参数,但是也不想从新写个接口。这个时候,XML那边调用原生的方法,传个参数过来。原生的再利用这个参数,进行方法的调用。

    //js调用java.    @JavascriptInterface//    public void getLogisticsType(final String status){        //java 调用js ,        mLogisticsWv.postDelayed(new Runnable() {            @Override            public void run() {//                mLogisticsWv.loadUrl("javascript:ajax_order_goods('"+id+"','"+status+"')");//                LoadDialog.dismiss(MyShopOrderActivity.this);            }        },0);    }

总之一句,根据需求,各种变换就是了。有什么错误的地方,多多指出。

更多相关文章

  1. Android(安卓)四种异步操作UI界面的方法
  2. Android(安卓)Root方法原理解析及Hook(四) GingerBreak
  3. Android(安卓)调用Android功能实现虚拟打电话程序
  4. Android在非UI线程中更新UI的方法
  5. Android中从网络获取数据的方法
  6. Android(安卓)Cocos2d-x游戏集成友盟社会化组件分享功能
  7. android 日记log保存到本地简单方法
  8. Android之通过ContentProvider实现两个app(进程间)间通信以及函
  9. Android后台任务(HandlerThread、AsyncTask、IntentService)

随机推荐

  1. Android,iOS打开手机QQ与指定用户聊天界面
  2. Android建立模拟器进行调试
  3. android String 特殊字符处理
  4. Android与H5交互——设置本地缓存
  5. Android 导入android源码有错,R.java文件
  6. Android使用DrawerLayout实现抽屉式侧滑
  7. Android(安卓)SdCard 新建文件夹并在文件
  8. 报错: Caused by: java.lang.RuntimeExce
  9. android的系统权限定义
  10. Android SearchView