文档章节

Android外部h5与native交互实现方式

ShallowMeet
 ShallowMeet
发布于 2015/09/17 16:57
字数 647
阅读 14
收藏 0

具体捕获的原理:

Android端需要在androidmanifest里面LAUNCHER的activity里设置

<>
    </>
    </>
    </>
    </>
</>

规则是  mdshaction://externalaction?function=(方法名)&data=(参数)

如果没有参数只需要传

           mdshaction://externalaction?function=(方法名)

如果有参数的话,参数需要做urlencode,因为传输的参数如果不做urlencode,可能含有空格或者&等等特殊字符,或者可能是json格式

客户端会对这个data做urldecode获取原始的参数来做处理

二、实现详情

1、仅调起客户端

详细:外部h5直接调起客户端

h5打开

 mdshaction://externalaction?function=gotoMain

举例

<a href="mdshaction://externalaction?function=gotoMain" wdfield="kw" onmousedown="return c({'fm':'tab','tab':'tieba'})">gotoMain</a>

2、调起客户端,并进入超级h5界面

详细:外部h5直接调起客户端,并进入到外部h5指定的超级h5界面

h5打开

mdshaction://externalaction?function=gotoInnerWeb&data=(具体参数)

参数为需要跳转的url,需要urlencode(如无必要,不再说明),具体找shuming.ai

举例

<a href="mdshaction://externalaction?function=gotoInnerWeb&data=http%3a%2f%2fwww.baidu.com" wdfield="kw" onmousedown="return c({'fm':'tab','tab':'tieba'})">gotoInnerWeb</a>

3、调起客户端,并进入我的优惠券界面

详细:外部h5直接调起客户端,如果用户已经登录则进入到我的优惠券界面,否则只是调起客户端

h5打开

 mdshaction://externalaction?function=gotoMyCoupon

举例

<a href="mdshaction://externalaction?function=gotoMyCoupon" wdfield="kw" onmousedown="return c({'fm':'tab','tab':'tieba'})">gotoMyCoupon</a>

4、调起客户端,并进入邀请好友界面

详细:外部h5直接调起客户端,如果用户已经登录则进入到邀请好友界面,否则只是调起客户端

h5打开

 mdshaction://externalaction?function=gotoInviteFriends

举例

{storeId=0831135ca8c913e013234560428d1895,city=bj,community_id=cceeea22f74011e4920a52548617546e,is_can_neworder=0}

<a href="mdshaction://externalaction?function=gotoInviteFriends" wdfield="kw" onmousedown="return c({'fm':'tab','tab':'tieba'})">gotoInviteFriends</a>

5、调用客户端,并进入商店货架界面

详细:外部h5直接调起客户端,并进入到外部h5指定的商店货架界面

h5打开

mdshaction://externalaction?function=gotoStore&data=(具体参数)

商店参数的格式为json格式,需要urlencode(如无必要,不再说明),具体找shuming.ai

举例

{storeId=0831135ca8c913e013234560428d1895,city=bj,community_id=cceeea22f74011e4920a52548617546e,is_can_neworder=0}

<href="mdshaction://externalaction?function=gotoStore&data=%7bstoreId%3d0831135ca8c913e013234560428d1895%2ccity%3dbj%2ccommunity_id%3dcceeea22f74011e4920a52548617546e%2cis_can_neworder%3d0%7d"wdfield="kw" onmousedown="return c({'fm':'tab','tab':'tieba'})">gotoStore</a>


© 著作权归作者所有

ShallowMeet
粉丝 20
博文 7
码字总数 4542
作品 0
东城
程序员
私信 提问
【quickhybrid】H5和Native交互原理

前言 架构的核心就是交互,而实现这个交互的前提是弄清楚H5和Native端的交互 本文主要介绍Native端(Android/iOS)和H5端(泛指前端)的交互原理 (之前也整理过类似的文章,本系列重新梳理)...

dailc
02/18
0
0
【quickhybrid】JSBridge的实现

前言 本文介绍框架的核心的实现 由于在最新版本中,已经没有考虑等低版本,因此在选用方案时没有采用方式,而是直接基于实现 交互原理 具体H5和Native的交互原理可以参考前文的 交互原理图如...

dailc
02/18
0
0
Native 与 H5 交互的那些事

Hybrid开发模式目前几乎每家公司都有涉及和使用,这种开发模式兼具良好的Native用户交互体验的优势与WebApp跨平台的优势,而这种 模式,在Android中必然需要WebView作为载体来展示H5内容和进...

oschina
2016/05/03
11.4K
10
zyq5858598/FAutoTest

FAutoTest 一个 H5、小程序自动化测试框架 简介 随着产品业务形态逐渐从 App 延升到微信小程序、微信公众号以及 QQ公众号等,而之前的自动化建设主要是 Native App 为主,全手工测试已无法满...

zyq5858598
05/28
0
0
使用 JSBridge 与原生 IOS、Android 进行交互(含 H5、Android、IOS 端代码,附 Demo)

本文详细讲述了如何使用 JSBridge 在 H5 和原生 Android、IOS之间进行交互。IOS 端包含 OC 和 Swift 的版本,Android 端包含 Java 和 Kotlin 版本。 一、写在前面 本文主要是通过代码讲述了如...

暖生
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
1K
12
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
33
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
33
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
46
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部