Android實(shí)現(xiàn)H5點(diǎn)擊打開app或跳轉(zhuǎn)指定界面

Android實(shí)現(xiàn)H5點(diǎn)擊打開app或跳轉(zhuǎn)指定界面

本文原創(chuàng)浮定,轉(zhuǎn)載請(qǐng)注明出處慕购。歡迎關(guān)注我的 簡(jiǎn)書洲胖。
安利一波我寫的開發(fā)框架:MyScFrame喜歡的話就給個(gè)Star

場(chǎng)景

H5界面中的入口

有時(shí)候?yàn)榱朔奖阌脩粼贖5界面上直接下載app或者打開手機(jī)app竣况,我們會(huì)在H5界面上添加一個(gè)按鈕,點(diǎn)擊按鈕可以實(shí)現(xiàn)下載或者打開app的功能峦失。關(guān)于下載功能這里不做敘述,這里主要講述打開app并跳轉(zhuǎn)到指定界面的業(yè)務(wù)如何實(shí)現(xiàn)商膊。

規(guī)則

    <scheme>://<host><pathPrefix>?<自定義參數(shù)>

這樣寫可能大家看不大懂,沒事宠进,我們接著往下看晕拆。

關(guān)鍵代碼

1.AndroidManifest中加入intent-filter:

    <activity
            android:name=".view.login.WelcomeActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <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:scheme="android" android:host="h5" android:pathPrefix="/open"/>
            </intent-filter>
        </activity>

我們要在擁有android:name="android.intent.action.MAIN參數(shù)的界面下新增一個(gè)intent-filter

   <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:scheme="android" android:host="h5" android:pathPrefix="/open"/>
    </intent-filter>

至于為什么要在android:name="android.intent.action.MAIN參數(shù)的界面下新增而不是其他界面,這應(yīng)該不需要多做敘述了吧材蹬,想必android:name="android.intent.action.MAIN參數(shù)的作用大家都懂实幕。

2.參數(shù)描述:

android:scheme="android"    用來(lái)辨別啟動(dòng)的app
android:host="h5"           可以當(dāng)成是一個(gè)域名,這邊建議使用應(yīng)用的包名
android:pathPrefix="/open"  參數(shù)路徑前綴

如果你要傳遞type=1堤器,id=7這兩個(gè)參數(shù)的話昆庇,在H5中展示效果應(yīng)該是:

    <a href="android://h5/open?type=1&id=7">打開看看</a>

3.接收參數(shù):

        Intent intent = getIntent();
        String action = intent.getAction();
        String type= null;
        String id = null;
        if (Intent.ACTION_VIEW.equals(action)) {
            Uri uri = intent.getData();
            if (uri != null) {
                type = uri.getQueryParameter("type");
                id = uri.getQueryParameter("id ");
            }
        }

4.建議:

實(shí)際開發(fā)過(guò)程中,如果直接從WelcomeActivity跳轉(zhuǎn)到指定界面的話闸溃,返回的時(shí)候可能會(huì)直接退出應(yīng)用(我開發(fā)的若干個(gè)應(yīng)用中WelcomeActivity界面在跳轉(zhuǎn)其他界面后都會(huì)直接關(guān)閉整吆。)如果是在指定頁(yè)面的返回操作中去啟動(dòng)HomeActivity的話,可能效果上不是很理想辉川,因?yàn)榇蠖鄶?shù)應(yīng)用的首頁(yè)都是相對(duì)復(fù)雜的表蝙,初始化操作都會(huì)比較耗時(shí)。

所以乓旗,我的個(gè)人建議是通過(guò)發(fā)送EventBus粘性事件給首頁(yè)府蛇,然后在首頁(yè)里面做相對(duì)應(yīng)的業(yè)務(wù)跳轉(zhuǎn)邏輯,這樣就不影響正常的業(yè)務(wù)邏輯屿愚,而且改動(dòng)起來(lái)也簡(jiǎn)單一些汇跨。

5.其他參考資料

如何優(yōu)雅地從瀏覽器打開本地應(yīng)用?

歡迎大家留言指出我的不足妆距。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末穷遂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子娱据,更是在濱河造成了極大的恐慌蚪黑,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異祠锣,居然都是意外死亡酷窥,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門伴网,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蓬推,“玉大人,你說(shuō)我怎么就攤上這事澡腾》蟹” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵动分,是天一觀的道長(zhǎng)毅糟。 經(jīng)常有香客問我,道長(zhǎng)澜公,這世上最難降的妖魔是什么姆另? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮坟乾,結(jié)果婚禮上迹辐,老公的妹妹穿的比我還像新娘。我一直安慰自己甚侣,他們只是感情好明吩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著殷费,像睡著了一般印荔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上详羡,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天仍律,我揣著相機(jī)與錄音,去河邊找鬼殷绍。 笑死染苛,一個(gè)胖子當(dāng)著我的面吹牛鹊漠,可吹牛的內(nèi)容都是我干的主到。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼躯概,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼登钥!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起娶靡,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤牧牢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塔鳍,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伯铣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了轮纫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腔寡。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖掌唾,靈堂內(nèi)的尸體忽然破棺而出放前,到底是詐尸還是另有隱情,我是刑警寧澤糯彬,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布凭语,位于F島的核電站,受9級(jí)特大地震影響撩扒,放射性物質(zhì)發(fā)生泄漏似扔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一搓谆、第九天 我趴在偏房一處隱蔽的房頂上張望虫几。 院中可真熱鬧,春花似錦挽拔、人聲如沸辆脸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)啡氢。三九已至,卻和暖如春术裸,著一層夾襖步出監(jiān)牢的瞬間倘是,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工袭艺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搀崭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓猾编,卻偏偏與公主長(zhǎng)得像瘤睹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子答倡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程轰传,因...
    小菜c閱讀 6,375評(píng)論 0 17
  • 1.Intent的用法: (1)Action跳轉(zhuǎn) 1、 使用Action跳轉(zhuǎn)瘪撇,當(dāng)程序AndroidManifest...
    彭文波_4118閱讀 5,732評(píng)論 0 7
  • 一获茬、知識(shí)點(diǎn)回顧:Activity (一)港庄、如何實(shí)現(xiàn)Activity頁(yè)面跳轉(zhuǎn)? 示例代碼: //第一種方式: Int...
    白話徐文濤閱讀 1,997評(píng)論 0 15
  • 錢沒了還可以再賺恕曲,時(shí)間沒了就真的沒了鹏氧。
    pandoradox閱讀 159評(píng)論 0 0
  • 大約,這個(gè)世界上大部分人都沒有那么好的運(yùn)氣可以遇到世人口中所謂的“真愛”佩谣,所以才有了現(xiàn)在人們常常說(shuō)的一句話度帮,我早就...
    莫名的拾一閱讀 148評(píng)論 0 0