转载 ---原生和H5交互挺多的,最近也有朋友再问。这儿我写个简单的例子给大家 直接贴代码 js的
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- </head>
- <body>
- <p>输入数字并提交:</p>
- <input id="id1" type="number">
- <button onclick="myFunction()">提交给android</button>
- <p id="demo"></p>
- <script>
- function myFunction() {
- var inpObj = document.getElementById("id1").value;
- inpObj=inpObj+"";
- window.android.get(inpObj)
- }
- </script>
- </body>
- </html>

android端接受的:
- package com.example.bovenn.jsandroiddemo;
- import android.annotation.SuppressLint;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.webkit.JavascriptInterface;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- public class MainActivity extends AppCompatActivity {
- @SuppressLint("JavascriptInterface")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- WebView webView = ((WebView) findViewById(R.id.webView));
- WebSettings webSettings = webView.getSettings();
- webSettings.setJavaScriptEnabled(true);
- webSettings.setDefaultTextEncodingName("utf-8");
- webView.addJavascriptInterface(new JS(), "android");
- webView.loadUrl("file:///android_asset/demo.html");
- }
- class JS{
- @JavascriptInterface
- public void get(String p){
- System.out.println("打印"+p);
- }
- }
- }
再JS 这个类里面的get方法接受网页传递的信息。解释一下:JS 的
- window.android.get(inpObj)
是关键代码其中inpObj必须是String类型。android 这个字和android代码中
- webView.addJavascriptInterface(new JS(), "android");
这儿要对应。window.android.get("传递的值"),中的get要和android中定义JS类里面的get方法名字相同。
转载 ---原生和H5交互挺多的,最近也有朋友再问。这儿我写个简单的例子给大家 直接贴代码 js的的更多相关文章
- Android原生和H5交互;Android和H5混合开发;WebView点击H5界面跳转到Android原生界面。
当时业务的需求是这样的,H5有一个活动商品列表的界面,IOS和Android共用这一个界面,点击商品可以跳转到Android原生的商品详情界面并传递商品ID: 大概就是点击H5界面跳转到Androi ...
- iOS原生APP和H5交互-delegate和第三方
一.原生代码中直接加载页面(拦截) 1. 具体案例 加载本地/网络HTML5作为功能介绍页 2. 代码示例 //本地 -(void)loadLocalPage:(UIWebView*)we ...
- 安卓混合开发——原生Java和H5交互,保证你一看就懂!
** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的Jav ...
- JS与APP原生控件交互
"热更新"."热部署"相信对于混合式开发的童鞋一定不陌生,那么APP怎么避免每次升级都要在APP应用商店发布呢?这里就用到了混合式开发的概念,对于电商网站尤其显 ...
- Native与H5交互的一些解决方法
一. 原生代码中直接加载页面 1. 具体案例 加载本地/网络HTML5作为功能介绍页 2. 代码示例 //本地 -(void)loadLocalPage:(UIWebView*)webVi ...
- iOS原生和H5的相互调用
为什么现在越来越多的APP中开始出现H5页面? 1,H5页面开发效率更高,更改更加方便: 2,适当缩小APP安装包的大小: 3,蹭热点更加方便,比如五一,十一,双十一搞活动: 那么为什么说H5无法取代 ...
- iOS与H5交互
H5与App原生交互,一般会是前端页面中的JavaScript与App使用的原生开发语言的交互.技术方案应能达到以下要求: 在js与原生进行交互的时候能保证正常的正向调用逻辑返回,反向可以处理异步回调 ...
- 如何使用AEditor制作一个简单的H5交互页demo
转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...
- Android中Native和H5交互
1.概述 时至今日,H5的跨平台性越发凸显优势,一套代码适配android.ios,既能减少开发成本,又便于更新与维护.但是native的性能体验也确实更佳,尤其体现在复杂界面和频繁变化的界面上.事实 ...
随机推荐
- hdu 3579(中国剩余定理+考虑0)
Hello Kiki Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Notepad++ 自动补全,括号自动完成插件,主题和字体设置
Notepad++ 自动补全成对符号http://rabbit52.com/2012/devel/notepad-autocomplete-brackets QuickText 和 Zen Codin ...
- .NET下XML文件的读写
一.前言: XML是微软.Net战略的一个重要组成部分,而且它可谓是XML Web服务的基石,所以掌握.Net框架下的XML技术自然显得非常重要了.本文将指导大家如何运用C#语言完成.Net框架下的X ...
- mysql控制台入门级--简单的创建表,字段。。。(用于网站测试)
一:在Mysql控制台创建数据表 [sql] use ceshi; create table student ( stuid int primary key auto_incremen ...
- Scala之Future
一.简介 Future提供了一套高效便捷的非阻塞并行操作管理方案.其基本思想很简单,所谓Future,指的是一类占位符对象,用于指代某些尚未完成的计算的结果.一般来说,由Future指代的计算都是并行 ...
- Http头 Range、Content-Range
HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300)Content-Rang ...
- Android 使用SharedPreferences数据存储
自己写了个SP辅助类 尽管写的有点啰嗦,也是自己的成果.例如以下: package com.yqy.yqy_testsputil; import android.annotation.Suppress ...
- Linux下ntp时间同步
在root用户下执行 先安装同步时间软件,每台机器执行 yum install -y ntp 然后执行以下命令: crontab -e */10 * * * * /usr/sbin/ntpdate - ...
- Linux 正则表达式 vi, grep, sed, awk
1. vi 表示内容的元字符 模式 含义 . 匹配任意字符 [abc] 匹配方括号中的任意一个字符.可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字. [^abc] 在方 ...
- js 输入框增加删除操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...