Android URL Scheme的學習和使用

======摘抄學習======

什么是 URL Scheme?

android中的scheme是一種頁面內跳轉協議。

通過定義自己的scheme協議,可以非常方便跳轉app中的各個頁面;

通過scheme協議,服務器可以定制化告訴App跳轉那個頁面,可以通過通知欄消息定制化跳轉頁面,可以通過H5頁面跳轉頁面等。

應用場景:

客戶端應用可以向操作系統注冊一個 URL scheme,該 scheme 用于從瀏覽器或其他應用中啟動本應用。通過指定的 URL 字段,可以讓應用在被調起后直接打開某些特定頁面,比如商品詳情頁、活動詳情頁等等。也可以執行某些指定動作,如完成支付等。也可以在應用內通過 html 頁來直接調用顯示 app 內的某個頁面。綜上URL Scheme使用場景大致分以下幾種:

a、服務器下發跳轉路徑,客戶端根據服務器下發跳轉路徑跳轉相應的頁面

b、H5頁面點擊錨點,根據錨點具體跳轉路徑APP端跳轉具體的頁面

c、APP端收到服務器端下發的PUSH通知欄消息,根據消息的點擊跳轉路徑跳轉相關頁面

d、APP根據URL跳轉到另外一個APP指定頁面

URL Scheme協議格式:

先來個完整的URL Scheme協議格式: ? ??xl://goods:8888/goodsDetail?goodsId=10011002

通過上面的路徑 Scheme、Host、port、path、query全部包含,基本上平時使用路徑就是這樣子的。

xl代表該Scheme 協議名稱 ? ? ? ? ? ??goods代表Scheme作用于哪個地址域

goodsDetail代表Scheme指定的頁面 ? ? ? ? ? ? ?goodsId代表傳遞的參數 ? ? ? ? ? ? ? ? ? ?8888代表該路徑的端口號

URL Scheme如何使用:

1.)在AndroidManifest.xml中對標簽增加設置Scheme

2.)獲取Scheme跳轉的參數


3.)調用方式

網頁上 ? ?<a herf="xl://goods:8888/goodsDetail?goodsId=10011002">打開商品詳情</a>

原生調用 ? ?Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("xl://goods:8888/goodsDetail?goodsId=10011002")); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?startActivty(intent);

4.)如何判斷一個Scheme是否有效

相關鏈接:

Android業務組件化之URL Scheme使用 ?

http://www.cnblogs.com/whoislcj/p/5825333.html

Android Scheme協議與應用全解析??

http://blog.csdn.net/zhangcanyan/article/details/54743578?

webview系列:Html5頁面和Native App怎么進行交互??

http://blog.csdn.net/a910626/article/details/52769389

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容