最近公司弄点这样的需求,我借此机会学习重新温故了一下,Js掉用android原生的方法 还有把值传回给js的方法

JavaScript掉Android原生

android代码

    private void initView() {        mWebView = findViewById(R.id.web_x);        WebSettings webSettings = mWebView.getSettings();        // 设置与Js交互的权限        webSettings.setJavaScriptEnabled(true);        //设置编码        //webSettings.setDefaultTextEncodingName("GBK");        // 设置允许JS弹窗       webSettings.setJavaScriptCanOpenWindowsAutomatically(true);        //加载页面 mWebView.loadUrl("file:///android_asset/index.html");        //TODO JS 调用Android原生        mWebView.addJavascriptInterface(new StartOne(), "test");           }

说明: new StartOne() 启动回调的方法, 这个test是启动 JavaScript回调原生方法的必不可少的,IOS则是不需要这个前缀的。

JavaScript代码

test.startHome
startHome : JavaScript的方法名

android代码

 //进入主页    public class StartOne{        @JavascriptInterface        public void startHome(final String message) {            runOnUiThread(new Runnable() {                @Override                public void run() {                    Log.e("MME", message );                    startActivity(new Intent(HomeActivity.this, HomeActivity.class));                              }            });        }    }

在android中@JavascriptInterface 下要以JavaScript的方法名命名android的方法名,不然js怎么知道它要调起哪里。

然后执行下看下效果
常用的Js调Android方法,以及Android原生传值给Js_第1张图片
掉起后的页面
常用的Js调Android方法,以及Android原生传值给Js_第2张图片

Android原生给JavaScript传值的方法有好多,我写个我常用的方法 =_=!

Android原生给JavaScript传值
js调起android原生,原生android处理一些业务逻辑之后,再把处理完的结果返回给js

android代码

   mWebView.loadUrl("javascript:WriteX('"+s+"')");

WriteX 是与js商定的或回传方法

JavaScript代码

js拿到值并回显

更多相关文章

  1. java/android 使用swig编译c/c++ 代码类型转换
  2. 在Android Stduio 中使用requestWindowFeature(Window.FEATURE_N
  3. 在Android java代码中如何改变文件的权限
  4. Android Studio在线调试Android Framework Java代码
  5. Android禁止横竖屏和解决切换屏幕时重启Activity的方法
  6. Android官方DrawerLayout 抽屉式侧滑菜单-简单使用方法
  7. Android Emulator 模拟器使用方法
  8. Android心得4.3--SQLite数据库--execSQL()和rawQuery()方法
  9. Android源代码下载

随机推荐

  1. Transformer Prime 变形平板:10 寸 Super
  2. 关于Android进程知识,你需要知道这些(一)
  3. Android(安卓)企业微信登录 接入指南
  4. Android(安卓)Q 适配详细操作
  5. Android(安卓)中如何将带有html格式的文
  6. 安卓端app开发!连续四年百度Android岗必问
  7. 我今天的面试题,注册广播有几种方式,这些方
  8. Android获取SD卡路径/内存的几种方法
  9. Android自定义下拉刷新动画--仿百度外卖
  10. 节后收到阿里offer是什么感觉,专科Android