如何通过H5(浏览器WebView其他)唤起本地APP(二)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何通过H5(浏览器WebView其他)唤起本地APP(二)
上篇文章小编给大家分享了通过H5(浏览器/WebView/其他)唤起本地APP的一种方式,本篇文章小编再给大家分享另一种方式,下面和小编一起来看一下吧。
第二种方式:
既然通过在href配置schema协议不行,那就只能通过js代码来实现了,只有这样才能根据判断实现app有的时候就打开,没有的时候就跳转到下载链接下载。
我们知道,js是无法判断手机是否安装了某款app的,所以我们只能够曲线救国了,我们可以获取时间如果,长时间不能呼起app则默认为没有安装这款app,然后跳转到下载页。当然这不是我想出来的,是网上的各位大佬的想法。在这里又要细分为两种情况了。
1、直接唤醒
说明:通过h5可换醒app,如访问一个URL,点击按钮,打开应用,如果该应用APP没有安装,那么直接跳转到App Store的APP下载页面,通过点击的方式兼容性较好,如果安装了app,在手机各大浏览器(360浏览器、uc浏览器、搜狗浏览器、QQ浏览器、百度浏览器)和QQ客户端中,能唤醒。微信、新浪微博客户端、腾讯微博客户端无法唤醒。
代码如下:
#zjmobliestart{font-size:40px;}
function applink(){
return function(){
var clickedAt = +new Date;
setTimeout(function(){
!window.document.webkitHidden && setTimeout(function(){ if (+new Date - clickedAt < 2000){
window.location =
'https:///us/app/zhe-jiang-yi-dong-shou-ji/id89824356 6#';
}
}, 500);
}, 500)
};
}
document.getElementById("zjmobliestart").onclick = applink();
2、点击唤醒
说明:通过h5可换醒app,如访问一个URL就能直接打开应用,如果该应用APP没有安装,那么直接跳转到App Store的APP下载页面。兼容性一般:在手机各大浏览器(360浏览器、uc浏览器、搜狗浏览器QQ浏览器、百度浏览器)能唤醒。微信、QQ客户端、新浪微博客户端、腾讯微博客户端无法唤醒。
代码如下:
#zjmobliestart{font-size:40px;}
唤醒浙江移动手机营业厅!
function applink(){
window.location = 'zjmobile://platformapi/startapp';
var clickedAt = +new Date;
setTimeout(function(){
!window.document.webkitHidden && setTimeout(function(){ if (+new Date - clickedAt < 2000){
window.location =
'https:///us/app/zhe-jiang-yi-dong-shou-ji/id89824356 6#';
}
}, 500);
}, 500)
}
applink();
还有的就是以为我是要在app里面通过加载webview的形式来唤起本地的app,这里也记录一下,代码如下:
webView.setWebViewClient(new WebViewClient(){