android webview与H5的交互 方法无响应

@SuppressLint({ "SetJavaScriptEnabled", "JavascriptInterface" })    protected void onStart() {        // TODO Auto-generated method stub        super.onStart();        webView = (WebView) findViewById(R.id.webView);        String url = getIntent().getStringExtra("urlPath");        WebSettings webSettings = webView.getSettings();        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);        // WebView加载web资源        webView.loadUrl(url);        // 从assets目录下面的加载html        // webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);        webView.addJavascriptInterface(this, "javatojs");        webView.getSettings().setJavaScriptEnabled(true);        webView.setWebViewClient(new WebViewClient() {            @Override            public boolean shouldOverrideUrlLoading(WebView view, String url) {                // 返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器                view.loadUrl(url);                return true;            }            @Override            public void onReceivedSslError(WebView view,                    SslErrorHandler handler, SslError error) {                // 重写此方法可以让webview处理https请求。                super.onReceivedSslError(view, handler, error);                handler.proceed();            }            @Override            public void onPageStarted(WebView view, String url, Bitmap favicon) {                // 在页面加载开始时调用。                super.onPageStarted(view, url, favicon);            }            @Override            public void onPageFinished(WebView view, String url) {                // 在页面加载结束时调用。                super.onPageFinished(view, url);            }            @Override            public void onReceivedError(WebView view, int errorCode,                    String description, String failingUrl) {                // TODO Auto-generated method stub                super.onReceivedError(view, errorCode, description, failingUrl);                webView.setVisibility(View.GONE);                // 返回                ImageView backView = (ImageView) findViewById(R.id.iv_licaike_back);                backView.setVisibility(View.VISIBLE);                backView.setOnClickListener(WebViewActivity.this);            }            @Override            public void onLoadResource(WebView view, String url) {                // 在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。                super.onLoadResource(view, url);            }        });        // 主要处理解析,渲染网页等浏览器做的事情 辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等        webView.setWebChromeClient(new WebChromeClient() {            @Override            public void onReceivedTitle(WebView view, String title) {                setTitle(title);            }        });    }@JavascriptInterface   // 这个最好每个H5调用都加,否则有些机型和版本不支持    public void reqDataFromApp() {        webView.loadUrl("javascript:getDataToH5('" + "toStr" + "')");    }html调用javascript:javatojs.reqDataFromApp();function getDataToH5(toStr){}

更多相关文章

  1. Android获取浏览器User Agent
  2. 判断微信内置浏览器, 其他浏览器
  3. Android自制浏览器WebView-android学习之旅(64)
  4. [置顶] android中OnScrollListener的详解(Listview分批加载用到)
  5. android 页面带值跳转
  6. Android完整的Fragment页面
  7. Android: VideoView做背景仿常见APP登录动态页面

随机推荐

  1. Docker可视化管理工具
  2. 关于ptype_all和pypte_base中的pt_prev的
  3. Kafka 常见面试题
  4. 数据库集群和分布式数据库的区别
  5. udp数据报从网卡驱动到用户空间流程总结
  6. Linux内核发送构造数据包的方式
  7. 问答-什么是负载均衡原理?
  8. 问答-服务器集群负载均衡原理?
  9. 单点登录最简单的方法
  10. MongoDB Go Driver使用帮助文档