1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. </head>
  6. <body>
  7. <p>输入数字并提交:</p>
  8. <input id="id1" type="number">
  9. <button onclick="myFunction()">提交给android</button>
  10. <p id="demo"></p>
  11. <script>
  12. function myFunction() {
  13. var inpObj = document.getElementById("id1").value;
  14. inpObj=inpObj+"";
  15. window.android.get(inpObj)
  16. }
  17. </script>
  18. </body>
  19. </html>

android端接受的:

  1. package com.example.bovenn.jsandroiddemo;
  2. import android.annotation.SuppressLint;
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.webkit.JavascriptInterface;
  6. import android.webkit.WebSettings;
  7. import android.webkit.WebView;
  8. public class MainActivity extends AppCompatActivity {
  9. @SuppressLint("JavascriptInterface")
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. WebView webView = ((WebView) findViewById(R.id.webView));
  15. WebSettings webSettings = webView.getSettings();
  16. webSettings.setJavaScriptEnabled(true);
  17. webSettings.setDefaultTextEncodingName("utf-8");
  18. webView.addJavascriptInterface(new JS(), "android");
  19. webView.loadUrl("file:///android_asset/demo.html");
  20. }
  21. class JS{
  22. @JavascriptInterface
  23. public void get(String p){
  24. System.out.println("打印"+p);
  25. }
  26. }
  27. }

再JS 这个类里面的get方法接受网页传递的信息。解释一下:JS 的

  1. window.android.get(inpObj)

是关键代码其中inpObj必须是String类型。android 这个字和android代码中

  1. webView.addJavascriptInterface(new JS(), "android");

这儿要对应。window.android.get("传递的值"),中的get要和android中定义JS类里面的get方法名字相同。

转载 ---原生和H5交互挺多的,最近也有朋友再问。这儿我写个简单的例子给大家 直接贴代码 js的的更多相关文章

  1. Android原生和H5交互;Android和H5混合开发;WebView点击H5界面跳转到Android原生界面。

    当时业务的需求是这样的,H5有一个活动商品列表的界面,IOS和Android共用这一个界面,点击商品可以跳转到Android原生的商品详情界面并传递商品ID:  大概就是点击H5界面跳转到Androi ...

  2. iOS原生APP和H5交互-delegate和第三方

    一.原生代码中直接加载页面(拦截) 1.    具体案例 加载本地/网络HTML5作为功能介绍页 2.    代码示例 //本地 -(void)loadLocalPage:(UIWebView*)we ...

  3. 安卓混合开发——原生Java和H5交互,保证你一看就懂!

    ** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的Jav ...

  4. JS与APP原生控件交互

    "热更新"."热部署"相信对于混合式开发的童鞋一定不陌生,那么APP怎么避免每次升级都要在APP应用商店发布呢?这里就用到了混合式开发的概念,对于电商网站尤其显 ...

  5. Native与H5交互的一些解决方法

    一. 原生代码中直接加载页面 1.    具体案例 加载本地/网络HTML5作为功能介绍页 2.    代码示例 //本地 -(void)loadLocalPage:(UIWebView*)webVi ...

  6. iOS原生和H5的相互调用

    为什么现在越来越多的APP中开始出现H5页面? 1,H5页面开发效率更高,更改更加方便: 2,适当缩小APP安装包的大小: 3,蹭热点更加方便,比如五一,十一,双十一搞活动: 那么为什么说H5无法取代 ...

  7. iOS与H5交互

    H5与App原生交互,一般会是前端页面中的JavaScript与App使用的原生开发语言的交互.技术方案应能达到以下要求: 在js与原生进行交互的时候能保证正常的正向调用逻辑返回,反向可以处理异步回调 ...

  8. 如何使用AEditor制作一个简单的H5交互页demo

    转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...

  9. Android中Native和H5交互

    1.概述 时至今日,H5的跨平台性越发凸显优势,一套代码适配android.ios,既能减少开发成本,又便于更新与维护.但是native的性能体验也确实更佳,尤其体现在复杂界面和频繁变化的界面上.事实 ...

随机推荐

  1. hdu 2739(尺取法)

    Sum of Consecutive Prime Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22876 ...

  2. Python Challenge 第九关

    第九关只有一幅图,上面有一些黑点.网页名字叫:connect the dots.可能是要把这些点连起来. 查看源代码,果然有两个整数集合 first 和 second.并且有个提示:first+sec ...

  3. DB2 数据库中字段特定字符替换为空

    Update RM_CarInfo set ImportTitle = Replace(ImportTitle,'ZD','') WHERE ImportTitle LIKE'%ZD%';

  4. python 关键词

    一.python关键字   1. and :表示逻辑判断 [与] a = '1' b = 1 if a and b: print('Hello Python') 2.as :单独没有实际意思,常与wi ...

  5. 防止ddos攻击

    1.防止ddos攻击 :接入层过滤器,去判断非法请求ip地主(如果请求过多,自己加入黑名单),上传至防火墙黑名单,不再录入 2.防止xss/css攻击 :在接入层,有第三方jra包工具类,过滤所有请求

  6. python super 的正确理解

    http://www.jb51.net/article/87807.htm super指的是MRO中的下一个类

  7. python 浮点数保留小数

    http://www.cnblogs.com/Raymon-Geng/p/5784290.html 这里有三种方法, round(a,2) '%.2f' % a Decimal('5.000').qu ...

  8. python的依赖性安全性检查

    1.safety 安装: pip install safety 使用: 检查整个系统的依赖包安全性safety check检查某个项目的依赖性安全safety check -r requirement ...

  9. C#里判断字符串是否为纯数字

    c bool IsNumeric(string str) //接收一个string类型的参数,保存到str里 { if (str == null || str.Length == 0) //验证这个参 ...

  10. Linux USB驱动数据结构

    struct usb_ctrlrequest {    __u8 bRequestType;    __u8 bRequest;    __le16 wValue;    __le16 wIndex; ...