【Android开发】Webview 和 JS 交互问题
一,安卓原生调用JS代码
1,js代码:
 function handlePasteDataFromApp(pasteStr) {
       showInfo('pasteData: aaaaa' + JSON.stringify(pasteStr).toString());
 }
2,安卓代码
final Map<String,String> map = new HashMap<String,String>();
map.put("pasteData", clipboardContent);
final JSONObject json = new JSONObject(map);
webview.loadUrl("javascript:handlePasteDataFromApp('" + json + "')");
二,JS调用安卓代码
1,安卓代码
创建接口
public interface JavaScriptFunction  {
    /**
     * 统计加入购物车行为
     * @param json
     */
    void logAddedToCartEvent(String json);
}
使用接口,接收js调用
webview.addJavascriptInterface(new JavaScriptFunction() {
            @Override
            @JavascriptInterface
            public void logAddedToCartEvent(String json) {
                    // to do some
            }
        }, "JavaScriptFunction");
2,JS代码
var params = {
                contentData: 'contentData',
                contentId: contentId,
                contentType: contentType,
                currency: currency,
                valueToSum: valueToSum
            }
window.JavaScriptFunction.logAddedToCartEvent(JSON.stringify(params))
【Android开发】Webview 和 JS 交互问题的更多相关文章
- Android原生webview中js交互
		http://www.cnblogs.com/android-blogs/p/4891264.html Html页面和Java代码结合的方式一般用在界面经常被更改 的情况下,可以讲html放在网络中, ... 
- webview与js交互(转)
		原文:http://www.cnblogs.com/vanezkw/archive/2012/07/02/2572799.html 对于android初学者应该都了解webView这个组件.之前我也是 ... 
- [android] WebView与Js交互
		获取WebView对象 调用WebView对象的getSettings()方法,获取WebSettings对象 调用WebSettings对象的setJavaScriptEnabled()方法,设置j ... 
- Android Webview 与JS交互
		Android中 WebView控件支持JS与本地代码的交互. // 是否允许在webview中执行javascript webSettings.setJavaScriptEnabled(true); ... 
- webview与js交互
		 对于android初学者应该都了解webView这个组件.之前我也是对其进行了一些简单的了解,但是在一个项目中不得不用webview的时候,发现了webview的强大之处,今天就分享一下使用we ... 
- webView和js交互
		与 js 交互 OC 调用 JS // 执行 js - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *title = [web ... 
- iOS webView与js交互在文本空格上输入文字
		项目要求:webview加载html网址,内容为填空题型文本,需要在横线上添加答案,并点击提交按钮后再将答案进行回显 正常加载的效果图片: 这个是用js交互后的效果图: 点击空格,输入想输入的答案,如 ... 
- Android的WebView通过JS调用java代码
		做项目时候会遇到我们用WebView 打开一个web,希望这个web可以调用自己的一些方法,比如我们在进一个web页面,然后当我们点击web上的某个按钮时,希望能判断当前手机端是否已经登录,如果未登录 ... 
- Android中webview和js之间的交互(转)
		http://www.cnblogs.com/leizhenzi/archive/2011/06/29/2093636.html 1.android中利用webview调用网页上的js代码. Andr ... 
随机推荐
- 扩展auth_user字段、BBS需求分析、创建BBS数据库、注册页面搭建与用户头像展示及Ajax提交数据
			昨日内容回顾 csrf跨站请求 1. SQL注入 2. xss攻击 3. csrf跨站请求 4. 密码加密(加盐) '''django中默认有一个中间件来验证csrf''' # 只针对post请求才验 ... 
- ASP.NET Core框架探索(一)
			今天我们来结合源码来探究一下ASP.NET CORE Web框架的运行原理. 可以先整体看一下下面这张基于源码分析过程的一个总结大纲,包含各环节完成的关键步骤: 下面我们将一起来结合源码探索启动一个A ... 
- 9.resultMap元素
			resultMap 是 MyBatis 中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象.下面我们先从最简单的功能开始介绍. 现有的 MyBatis ... 
- cobbler check执行报错
			httpd does not appear to be running and proxying cobbler, or SELinux is in the way. 当执行cobbler check ... 
- laravel 怎么获取public路径
			app_path() app_path函数返回app目录的绝对路径: $path = app_path(); 你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径: $pa ... 
- 创建vue脚手架步骤
			一.在cmd配置npm淘宝镜像 npm config set registry https://registry.npm.taobao.org 二.仅第一次执行安装,安装好后关掉cmd后再开,这个时候 ... 
- vue 通信:父子通信、兄弟通信、跨多层通信、vuex状态管理
			之前简单做了一次vue通信方法的培训,在此记录一下培训的内容. 关于vue通信,大家最先想到的方法应该是props.ref.$emit.$parent,还有vuex,因为这也是我在项目中最常用到的方法 ... 
- 2022年官网下安装NodeJS最全版与官网查阅方法
			目录 安装部署NodeJS 1.百度搜索NodeJS. 2.选择下载,windows版,选择64位下载 3.找到本地安装包位置,双击打开 4.选择同意,点击下一步 5.选择安装目录,点击下一步 6.选 ... 
- Linux内核驱动模块编写尝试
			课堂笔记 源代码 /*file: hello.c*/ #ifndef _KERNEL_ #define _KERNEL_ #endif #ifndef MODULE #define MODULE #e ... 
- C 如何将输出的地址转化为十进制数
			•需求 这两天在看内存对齐的相关问题,因此产生了一个,如何将地址转换为十进制数? 对于如下程序: void func() { int a = 10; printf("a 的地址为:%p\n& ... 
