======摘抄學習======
什么是 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是否有效
相關鏈接:
http://www.cnblogs.com/whoislcj/p/5825333.html
http://blog.csdn.net/zhangcanyan/article/details/54743578?
webview系列:Html5頁面和Native App怎么進行交互??
http://blog.csdn.net/a910626/article/details/52769389