ionic4 中使用 url scheme 插件

接到個新的需求,需要與其他app之間實現(xiàn)單點登陸,需要用到應用跳轉,Google了下找到了 ionic 可以使用的 url scheme 插件
https://github.com/EddyVerbruggen/Custom-URL-scheme.git

一颖医、在使用前先簡單了解下什么是urlcheme:

簡單的說检激,URL Scheme就是一個可以讓app相互之間可以跳轉的協(xié)議晦闰。列如:微信的 URL Scheme 就是 weixin://,在瀏覽器中打開 weixin://scanqrcode 可以跳轉到微信的掃一掃功能磷箕。
常見的一些url scheme,比如; sinaweibo:// , youku://, mqq:// ,weixin:// ,taobao:// , baidumap://等等,我們可以通過這些url 來直接打開應用以及調用一些相應的開放的功能。

二阵难、插件使用:
  1. 創(chuàng)建一個demo工程
ionic start targetProject

2.創(chuàng)建成功后添加平臺

ionic cordova platform add android
ionic cordova platform add ios

3.添加插件

ionic cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=mytargetapp

插件安裝完成后,就可以通過url scheme 來打開該app了岳枷。

三、使用其他ionic app 打開當前應用

那么現(xiàn)在問題來了,比如我想通過另外一個ionic項目打開該工程
同樣的我們創(chuàng)建一個新工程schemeTest,添加平臺,這里就不再重復說明
實現(xiàn)打開應用的步驟有兩個
1.添加代碼,打開工程下頁面,比如tab/tab1.page.html頁面


image.png

在該文件中添加如下代碼:

<button onclick="window.open('mytargetapp://somepath?foo=bar', '_system')">打開應用</button>
<a href="mytargetapp://somepath?foo=bar">打開應用</a>

這里采用了兩種方式,一種是使用a標簽,通過href屬性來打開,另外一種方式是添加click時間,增加js代碼來實現(xiàn)打開,兩種方式都可以實現(xiàn)

2.找到工程下的config.xml文件并打開該文件
添加如下代碼:

<allow-intent href="mytargetapp:*" />

效果圖

href中的值,根據(jù)要打開的目標app來定義,比如要打開微信,那么值就是
weixin:*

至此就可以通過schemeTest app來打開 targetProject app了

四、最后還有遺留了一個問題,就是targetProject 要如何才能知道是通過其他app 的 url scheme打開它的?

這個也比較簡單,打開targetProject工程下的app.component.ts文件
加入如下代碼:

constructor() {
    // 用于接收url scheme傳入的參數(shù)
    (window as any).handleOpenURL = (url: string) => {
      setTimeout(() => {
        this.handleOpenUrl(url);
      }, 0);
    };
  }

  /**
   * 處理url scheme 的參數(shù)
   * @author LiQun
   * @date 2019-07-25
   * @param url urlscheme 鏈接參數(shù),如 mytargetapp://somepath?foo=bar
   */
  private handleOpenUrl(url: string) {
    console.log('url', url);
  }

這樣我們就可以根據(jù)接收到的參數(shù),做出相應的處理了

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末空繁,一起剝皮案震驚了整個濱河市殿衰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盛泡,老刑警劉巖闷祥,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異傲诵,居然都是意外死亡凯砍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門拴竹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悟衩,“玉大人,你說我怎么就攤上這事殖熟【执” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵菱属,是天一觀的道長钳榨。 經(jīng)常有香客問我,道長纽门,這世上最難降的妖魔是什么薛耻? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮赏陵,結果婚禮上饼齿,老公的妹妹穿的比我還像新娘。我一直安慰自己蝙搔,他們只是感情好缕溉,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吃型,像睡著了一般证鸥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上勤晚,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天枉层,我揣著相機與錄音,去河邊找鬼赐写。 笑死鸟蜡,一個胖子當著我的面吹牛,可吹牛的內容都是我干的挺邀。 我是一名探鬼主播揉忘,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼跳座,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了癌淮?” 一聲冷哼從身側響起躺坟,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乳蓄,沒想到半個月后咪橙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡虚倒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年美侦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片魂奥。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡菠剩,死狀恐怖,靈堂內的尸體忽然破棺而出耻煤,到底是詐尸還是另有隱情具壮,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布哈蝇,位于F島的核電站棺妓,受9級特大地震影響,放射性物質發(fā)生泄漏炮赦。R本人自食惡果不足惜怜跑,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吠勘。 院中可真熱鬧性芬,春花似錦、人聲如沸剧防。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽峭拘。三九已至汽煮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棚唆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工心例, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宵凌,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓止后,卻偏偏與公主長得像瞎惫,于是被迫代替她去往敵國和親溜腐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內容