H5 内部唤起android App
场景:当我们使用H5推广的时候会存在一键打开App的功能!1.android原生端配置在清单文件入口的Activity 配置如下!<intent-filter><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.DEFAUL
·
场景:当我们使用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");
更多推荐
已为社区贡献3条内容
所有评论(0)