Android 点击应用外的Url拉起应用
生活随笔
收集整理的這篇文章主要介紹了
Android 点击应用外的Url拉起应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近工作上遇到個新的情況,簡單了解了一下。把相關的知識簡單記錄一下。
情況是一個android應用會在其他平臺上分享東西,分享的內容里有條url,要求用戶點擊該url的時候拉起應用并進行處理。
其實網上一搜就會找到答案,但是這些答案都不算太全,這里整合一下。
首先在AndroidManifest.xml中被拉起的Activity下添加如下代碼:
<intent-filter>??<category?android:name="android.intent.category.BROWSABLE"?/><data?android:scheme="xxxx"?/><!--?xxxx這個自己隨便定義。?-->??</intent-filter>??添加第二行后,點擊url的時候該activity會和默認瀏覽器一起出現在選擇窗口;第三行則可以自己定義一個協議,這樣點擊以“xxxx://”開頭的url都會拉起該activity。
url里也可以添加數據,在拉起的activity里通過intent來獲取數據,這樣就可以傳遞一些必須的參數。
String tSchema = tIntent.getScheme(); Uri myURI = tIntent.getData();?第一行代碼可以獲取該url的協議,如果是我們定義的url那就應該是“xxxx”。第二條則會獲取Uri形式的url,這樣就可以通過Uri的方法來獲取需要的數據。
下面是一個老外的舉例,可以很直觀的了解如何獲取uri傳遞的數據
ps: http://twitter.com/status/1234
Uri data = getIntent().getData(); String scheme = data.getScheme(); // "http" String host = data.getHost(); // "twitter.com" List<String> params = data.getPathSegments(); String first = params.get(0); // "status" String second = params.get(1); // "1234"如果url帶有參數,還可以用 data.getQueryParameter("SID")? 方法來獲取指定(“SID”)參數的值。
Uri的方法還有很多,比如getLastSegments()等等,有興趣可以自己去查看api。
?
總結
以上是生活随笔為你收集整理的Android 点击应用外的Url拉起应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven(android-maven-
- 下一篇: eclipse开发cocos2dx 3.