场景:当我们使用H5推广的时候会存在一键打开App的功能!

1.android原生端配置

在清单文件入口的Activity 配置如下!

<intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data
                    android:host="www.qiandun.myapp"
                    android:scheme="qiandun"/>

2.在H5端:

在微信中scheme是被屏蔽的,所以无法唤起app ,那么我们可以判断是否是在微信浏览器,通过应用宝上架app 的推广地址来处理!

openApp() {
				var u = window.navigator.userAgent.toLowerCase();
				var isWeixin = u.match(/MicroMessenger/i) == 'micromessenger'; //判断是不是微信浏览器
				//如果是微信,直接下载
				if (isWeixin) {
					window.location.href = "https://a.app.com/o/simple.jsp?pkgname=xxx"; /***Android移动端下载地址***/
				} else {
				/***打开app的协议***/
					window.location.href = "qiandun://www.qiandun.myapp"; 
					window.setTimeout(function() {
					/***Android移动端下载地址***/
						window.location.href = "https://a.app.com/o/simple.jsp?pkgname=xxx"; 
					}, 2000);
				}
			},

3.H5 唤醒的时候向app 传参:

window.location.href = "qiandun://www.qiandun.myapp?params="+value;

在原生端接受数据:

Uri uridata = this.getIntent().getData();
String value=uridata.getQueryParameter("param");
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐