摘要:今天只記錄小的簡單的東西,因為要睡覺了。具體使用請以自身需求為準。那么組裝的時候,可以指定包名,然后指定名,然后增加傳遞的數據和。這樣就很好的把一個跳轉到某個應用某個頁面的的行為用指定出來。方便應用和應用之間相互跳轉。
今天只記錄小的簡單的東西,因為要睡覺了。
如果你想做一個Hybrid應用,也許有多種方式,也許使用PhoneGap,也許只使用WebView,也許在Native的某個頁面嵌入一部分的WebView。
具體使用請以自身需求為準。那么今天說說最最輕量的一個方案:我們有這么個需求,有的頁面需要使用 Native,有的頁面需要使用WebView,同時,Native改變可能比較小,WebView的內容改動是很多的,因為WebView中呈現的內容在服務器端,因此它的好處就是不需要升級軟件而直接為用戶提供新功能。
那么基于這么一種業務需求,我們想到的其中一個辦法就是使用自定義的Schema,使用一個統一的Schema管理器管理,對于不同的Schema我們利用Intent的一些特性,跳到我們所需要的Activity里,呈現我們所需要的內容即可。
那么我們這里用到了一個很小的組件類就是java.net.URI 這個組件,想必看見這個類必然會想到java.net.URL類吧。URI全稱是Uniform Resource Identifier(通用資源標識符),URL這個類是Uniform Resource Locator(統一資源定位符)(摘自百度百科)。很多人可能混淆兩個概念,其實只要只要URL是URI的子集即可,也就是說,相對來講,URI的定義會更廣泛抽象一些。
引用一個我們自定義Schema的一個URI例子
lwy://cn.com.zjseek.lwy/news?id=2&path=3
這里Schema,Location,Path,Query等都俱全了,那么有什么用呢?
Location可以指定一個包名,我們用java.net.URI對象的構造函數生成后,用getHost方法能獲取到它的“主機”
URI uri = new URI("lwy://cn.com.zjseek.lwy/news?id=2&path=3"); System.out.println(uri.getScheme()); // lwy System.out.println(uri.getHost()); // cn.com.zjseek.lwy System.out.println(uri.getPath()); // /news System.out.println(uri.getQuery()); // id=2&path=3
運行這段代碼能得到每一部分的結果。
那么組裝Intent的時候,可以指定包名(Host),然后指定Action名(path),然后增加傳遞的數據和Fragment(Query)。
這樣就很好的把一個跳轉到某個應用某個頁面的的行為用URI指定出來。方便應用和應用之間相互跳轉。
Intent intent = new Intent(); intent.setPackage(uri.getHost()); intent.setAction(uri.getPath()); ...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/85311.html
摘要:若用實現,則體驗上會相差不少。至此,因為本文中的重點,的實現方案及與交互方案。中的實現方式原理與中原生協議類似,通過攔截形式實現。可以通過自定義協議名稱,然后中攔截這個,并解析其中參數與回調函數,調用方法,并實現回調。 android hybird 與h5 app區別 hybird 與h5 app是不一樣的,以前對這兩者理解有所誤解,在實際開發中也并未真正采用hybird,而是使用h5...
摘要:近期公司需要針對分享流程進行優化,其中一點就是前端檢測是否安裝應用,來進行不同的判斷下載或直接跳轉到中。為回調函數,根據返回來判斷是否安裝。 近期公司需要針對分享流程進行優化,其中一點就是前端H5檢測是否安裝應用,來進行不同的判斷(下載或直接跳轉到app中)。原理很簡單:創建一個iframe去打開uri。如果打開app成功網頁進入后臺,再切換回來時間會超過2.5s。利用時間去檢測。下面...
閱讀 2222·2021-09-07 09:58
閱讀 3400·2019-08-30 14:07
閱讀 1310·2019-08-29 12:32
閱讀 676·2019-08-29 11:06
閱讀 3700·2019-08-26 18:18
閱讀 3737·2019-08-26 17:35
閱讀 1387·2019-08-26 11:35
閱讀 617·2019-08-26 11:35