博客 / 詳情

返回

h5+mui分享調起app跳指定頁面

@font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋體"; } @font-face{ font-family:"Calibri"; } p.MsoNormal{ mso-style-name:正文; mso-style-parent:""; margin:0pt; margin-bottom:.0001pt; mso-pagination:none; text-align:justify; text-justify:inter-ideograph; font-family:Calibri; mso-fareast-font-family:宋體; mso-bidi-font-family:'Times New Roman'; font-size:10.5000pt; mso-font-kerning:1.0000pt; } span.msoIns{ mso-style-type:export-only; mso-style-name:""; text-decoration:underline; text-underline:single; color:blue; } span.msoDel{ mso-style-type:export-only; mso-style-name:""; text-decoration:line-through; color:red; } @page{mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section0{ } div.Section0{page:Section0;}

要先了解到URLScheme的作用

我們都知道蘋果手機中的APP都有一個沙盒,APP就是一個信息孤島,相互是不可以進行通信的。但是iOS的APP可以註冊自己的URL Scheme,URL Scheme是為方便app之間互相調用而設計的。我們可以通過系統的OpenURL來打開該app,並可以傳遞一些參數。URL Scheme必須能唯一標識一個APP,如果你設置的URL Scheme與別的APP的URL Scheme衝突時,你的APP不一定會被啓動起來。因為當你的APP在安裝的時候,系統裏面已經註冊了你的URL Scheme。一般情況下,是會調用先安裝的app。但是iOS的系統app的URL Scheme肯定是最高的。所以我們定義URL Scheme的時候,儘量避開系統app已經定義過的URL Scheme。

URL Schemes 有兩個單詞:

URL,我們都很清楚,http://www.apple.com 就是個 URL,我們也叫它鏈接或網址;

Schemes,表示的是一個 URL 中的一個位置——最初始的位置,即 ://之前的那段字符。比如 http://www.apple.com 這個網址的 Schemes 是 http。

打開app跳轉:

首先需要在manifest.json文件中配置為本App向手機註冊id,及添加跳回本App的url schemes(協議)。

IOS中的配置方法:
在这里插入图片描述
安卓中的配置方法:
在这里插入图片描述
然後只需要正常的使用a標籤的或其他的方法給href屬性加上要跳轉app之前定義好url schemes,同樣可以帶參數過去。

接着就打開app後,在app的所定義的首頁的使用plus.runtime.arguments(官方解釋鏈接:http://www.html5plus.org/doc/...)
獲取到第三方程序傳遞過來的參數,字符串格式類型數據。
5+中需要監聽plusReady下調用這個屬性
在这里插入图片描述
拿到參數後根據情況自己拆解,再跳轉到指定頁面並帶上參數
所遇到的注意點:
1、IOS中微信或者QQ打開文件,選擇“其他應用打開”時選擇我開發的app,進行後續操作。大部分情況可以通過plus.runtime.arguments取得參數即文件路徑。但文件中有其他字符(我這裏是有一個小寫的單引號)的時候就取不到了。android沒有問題。解決辦法只要去掉那個單獨的分號~
文件名示例:1_恆隆生鬆輪 船舶概況 (Ship’s Particulars ).docx
2、iOS系統下,如果有中文或保留字符需要使用encodeURIComponent 轉碼,app端使用decodeURIComponent 解碼。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.