當前位置:首頁 » 安卓系統 » androidschemeurl

androidschemeurl

發布時間: 2025-09-22 14:22:43

① Android 跨應用間調用: URL Scheme

Android中的自定義的 URL Scheme 是一種頁面內跳轉協議,也可以被稱為 URLRouter ,就是通過類似打開網頁的方式去通過路由打開一個Activity,而非直接通過顯式Intent方式去進行跳轉。這樣隱式intent的方法跳轉好處如下:

上文已經說過, URL Scheme 是就通過類似打開網頁的方式去通過路由打開一個Activity,其協議格式和我們打開網頁輸入的網址類似。

一個完整的完整的URL Scheme協議格式由scheme、host、port、path和query組成,其結構如下所示:

其中scheme既可以是Android中常見的協議,也可以是我們自定義的協議。Android中常見的協議包括content協議、http協議、file協議等,自定義協議可以使用自定義的字元串,當我們啟動第三方的應用時候,多是使用自定義協議。

如下是一個自定義協議的URI:

通過上面的路徑 Scheme、Host、port、path、query全部包含:

URL Scheme 的使用方法簡要言之就是先在manifest中配置能接受Scheme方式啟動的activity;當需要調用時,將Scheme協議的URi以Data的形式加入到Intent中,隱式調用該activity。

1). 在AndroidManifest.xml中對<activity >標簽增加<intent-filter>設置Scheme

上面的設置中可以看到,MainActivity包含多個<intent-filter>設置,第一個是正常的啟動,也就是在應用列表中啟動;第二個是通過 URL Scheme 方式啟動,其本身也是隱式Intent調用的一種,不同在於添加了<data>屬性,定義了其接受 URL Scheme 協議格式為 urlschemel://auth_activity

這里需要說明下, URL Scheme 協議格式中,組成URI的這些屬性在<data >標簽中都是可選的 ,但存在如下的依賴關系:

當我們將intent對象中的Uri參數與intent-filter中的<data>標簽指定的URI格式進行對比時,我們只對比intent-filter的<data>標簽指定的部分,例如:

需要注意的是,intent-filter的<data>標簽在指定path的值時,可以在裡面使用通配符*,起到部分匹配的效果。

2). 使用URL啟動Activity

當然可以在網頁中調用

或者是在JS中調用

3.)如何判斷URL Scheme是否有效

有時候需要把一些輔助性的、較為獨立的APP在Home Launcher中隱藏起來,只允許一些特定的APP調用。這個時候,我們可以利用 URL Scheme 協議來做到這一點,設置AndroidManifest.xml中對<activity >標簽如下

因為Home Launcher列出的應用圖標要求必須有Activity同時滿足

上面的配置中有多餘的category和data限制存在,所以並不匹配,不會在Home Launcher出現,但是可以使用 URL Scheme 來啟動。

這樣就可以將一組APP設置一個統一的入口,然後根據實際需要在調用不同子APP,即所謂的 APP業務組件化 , URL Scheme 在其中有著重要的作用,更進一步討論會在以後的文章中呈現,敬請期待。

參考文獻:
http://blog.csdn.net/iispring/article/details/48481793
http://blog.csdn.net/hb707934728/article/details/53196419
http://www.cnblogs.com/whoislcj/p/5825333.html

熱點內容
安卓大屏與原車音響怎麼匹配 發布:2025-09-22 16:06:05 瀏覽:596
linux新建文本 發布:2025-09-22 16:05:13 瀏覽:88
壓縮機試車 發布:2025-09-22 16:00:27 瀏覽:525
android默認參數 發布:2025-09-22 15:57:18 瀏覽:926
php投票限制 發布:2025-09-22 15:41:59 瀏覽:924
安卓整機加密 發布:2025-09-22 15:40:35 瀏覽:416
別克在線編程 發布:2025-09-22 15:40:34 瀏覽:459
linux用telnet 發布:2025-09-22 15:24:31 瀏覽:274
解壓脆聲音 發布:2025-09-22 15:13:05 瀏覽:11
蘋果id設置中密碼是什麼碼 發布:2025-09-22 15:13:04 瀏覽:589