2018-06-20 09:57:40 1450瀏覽
上篇文章扣丁學堂HTML5培訓小編給大家分享了通過H5(瀏覽器/WebView/其他)喚起本地APP的一種方式,本篇文章小編再給大家分享另一種方式,下面和小編一起來看一下吧。
第二種方式:
既然通過在href配置schema協議不行,那就只能通過js代碼來實現了,只有這樣才能根據判斷實現app有的時候就打開,沒有的時候就跳轉到下載鏈接下載。
我們知道,js是無法判斷手機是否安裝了某款app的,所以我們只能夠曲線救國了,我們可以獲取時間如果,長時間不能呼起app則默認為沒有安裝這款app,然后跳轉到下載頁。當然這不是我想出來的,是網上的各位大佬的想法。在這里又要細分為兩種情況了。
1、直接喚醒
說明:通過h5可換醒app,如訪問一個URL,點擊按鈕,打開應用,如果該應用APP沒有安裝,那么直接跳轉到App Store的APP下載頁面,通過點擊的方式兼容性較好,如果安裝了app,在手機各大瀏覽器(360瀏覽器、uc瀏覽器、搜狗瀏覽器、QQ瀏覽器、百度瀏覽器 )和QQ客戶端中,能喚醒。微信、新浪微博客戶端、騰訊微博客戶端無法喚醒。
代碼如下:
<html xmlns=http://www.w3.org/1999/xhtml> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> <head> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <title>點擊喚醒demo</title> </head> <body> <style> #zjmobliestart{font-size:40px;} </style> <!-- 說明:通過h5可換醒app,如訪問一個URL,點擊按鈕,打開應用,如果該應用APP沒有安裝,那么直接跳轉到App Store的APP下載頁面,通過點擊的方式。兼容性較好,如果安裝了app,在手機各大瀏覽器(360瀏覽器 uc瀏覽器 搜狗瀏覽器 QQ瀏覽器 百度瀏覽器 )和QQ客戶端中,能喚醒。微信 新浪微博客戶端 騰訊微博客戶端無法喚醒。 --> <a href="zjmobile://platformapi/startapp" id="zjmobliestart" target="_blank">喚醒浙江移動手機營業(yè)廳!</a> <script type="text/javascript"> function applink(){ return function(){ var clickedAt = +new Date; setTimeout(function(){ !window.document.webkitHidden && setTimeout(function(){ if (+new Date - clickedAt < 2000){ window.location = 'https://itunes.apple.com/us/app/zhe-jiang-yi-dong-shou-ji/id898243566#weixin.qq.com'; } }, 500); }, 500) }; } document.getElementById("zjmobliestart").onclick = applink(); </script> </body> </html>
2、點擊喚醒
說明:通過h5可換醒app,如訪問一個URL就能直接打開應用,如果該應用APP沒有安裝,那么直接跳轉到App Store的APP下載頁面。兼容性一般:在手機各大瀏覽器(360瀏覽器、uc瀏覽器、搜狗瀏覽器 QQ瀏覽器、百度瀏覽器 )能喚醒。微信、QQ客戶端、新浪微博客戶端、 騰訊微博客戶端無法喚醒。
代碼如下:
<!Doctype html> <html xmlns=http://www.w3.org/1999/xhtml> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> <head> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <title>直接喚醒demo</title> </head> <body> <style> #zjmobliestart{font-size:40px;} </style> <!-- 說明:通過h5可換醒app,如訪問一個URL就能直接打開應用,如果該應用APP沒有安裝,那么直接跳轉到App Store的APP下載頁面 兼容性一般:在手機各大瀏覽器(360瀏覽器 uc瀏覽器 搜狗瀏覽器 QQ瀏覽器 百度瀏覽器 )能喚醒。微信 QQ客戶端 新浪微博客戶端 騰訊微博客戶端無法喚醒。 --> <p id="zjmobliestart">喚醒浙江移動手機營業(yè)廳!</p> <script type="text/javascript"> 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://itunes.apple.com/us/app/zhe-jiang-yi-dong-shou-ji/id898243566#weixin.qq.com'; } }, 500); }, 500) } applink(); </script> </body> </html>
還有的就是以為我是要在app里面通過加載webview的形式來喚起本地的app,這里也記錄一下,代碼如下:
webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Uri uri=Uri.parse(url); if(uri.getScheme().equals("abraham")&&uri.getHost().equals("jingewenku.com")){ String arg0=uri.getQueryParameter("arg0"); String arg1=uri.getQueryParameter("arg1"); }else{ view.loadUrl(url); } return true; }});
以上就是扣丁學堂HTML5在線學習小編給大家分享的通過H5(瀏覽器/WebView/其他)喚起本地APP的方法,希望對小伙伴們有所幫助。想要了解更多內容的小伙伴可以登錄扣丁學堂官網咨詢,扣丁學堂是專業(yè)的HTML5培訓機構,不僅有專業(yè)的老師和與時俱進的課程體系,還有大量的HTML5在線教程,想要學好HTML5開發(fā)的小伙伴快快行動吧??鄱W堂H5技術交流群:559883758。
【關注微信公眾號獲取更多學習資料】
查看更多關于“HTML5開發(fā)技術資訊”的相關文章>>