zoukankan      html  css  js  c++  java
  • android js 互调

    public class BoatsActivity extends Activity {
        Handler mHandler = new Handler();//处理消息的handler
        @SuppressLint("SetJavaScriptEnabled")
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            this.setTitle("船舶查询页面");
            final WebView mWebView = new WebView(this);//创建一个webView对象出来  将他作为activity的显示页面  你也可以在xml布局文件中放入一个webView控件在这里初始化
            setContentView(mWebView);
            mWebView.loadUrl("http://192.168.0.190:8080/loginDemo_gd/bots.html");//加载你要显示的网页
            mWebView.getSettings().setJavaScriptEnabled(true);//获取webview对象中的setting对象 设置为可以支持javascript
            mWebView.addJavascriptInterface(new Object() { 
                @JavascriptInterface//sdk版本大于17要加上这句注解 访问安全考虑
                public void clickOnAndroid() { 
                    mHandler.post(new Runnable() { 
                        public void run() { 
                            Toast.makeText(BoatsActivity.this, "请输入你要查询的船舶", Toast.LENGTH_SHORT).show();
                        } 
                    }); 
                }
                @JavascriptInterface
                public void showmsg(){
                    mHandler.post(new Runnable() { 
                        public void run() { 
                            Toast.makeText(BoatsActivity.this, "查询成功", Toast.LENGTH_SHORT).show();
                        } 
                    }); 
                }
                @JavascriptInterface
                public void showResult(){
                    mHandler.post(new Runnable() { 
                        public void run() { 
                            Toast.makeText(BoatsActivity.this, "没有查询到对应的数据", Toast.LENGTH_SHORT).show();
                        } 
                    }); 
                }
                @JavascriptInterface
                public void alert(){
                    mHandler.post(new Runnable() { 
                        public void run() { 
                            Toast.makeText(BoatsActivity.this, "请输入船舶的ID", Toast.LENGTH_SHORT).show();
                        } 
                    }); 
                }
                
            }, "demo");//类的别名  js这样调用  window.demo.方法名(js调用java方法) 

          //java调用js
          webView.loadUrl("javascript:window.handler.show(document.getElementById('id').value,document.getElementById('password').value)");

    
            mWebView.setWebViewClient(new WebViewClient(){
                @Override
                public void onPageFinished(WebView view, String url) {
                    //Toast.makeText(BoatsActivity.this, "加载完成", Toast.LENGTH_SHORT).show();
                    super.onPageFinished(view, url);
                }
            });
        }
    
    }
  • 相关阅读:
    原生微信小程序砸金蛋奖程序代码分析
    git 如何恢复到指定版本--很常用的方法
    cupload.js手动插入数据
    asp.net Core3.1自定义权限体系-菜单和操作按钮权限
    linux 解决docker、docker-compose命令权限问题(sudo)
    Supervisor 安装和使用教程
    php 无限级分类查找父节点所有子节点【找出 某节点的子节点】
    bat echo 输出内容为不同的颜色
    git 提交团队项目代码的流程
    bat脚本 切换到其他盘符
  • 原文地址:https://www.cnblogs.com/wenjie123/p/4776424.html
Copyright © 2011-2022 走看看