android實現點擊短連結進入應用 並獲得整個串連的內容

來源:互聯網
上載者:User

例如:我收到一個簡訊是一個連結:http://www.qq.com/a/b/?, 當我點擊以後我要實現的情境是:點擊-----》有兩種情況可供選擇:手機中有此應用,跳轉到應用;反之,則進入網頁。

跳入網頁我就不說了,這個不用寫什麼都會跳過去,本身就是http超連結,下面介紹如何讓系統根據書寫的串連,尋找到我的應用程式,並在程式中將這個地址完整的擷取:

1、首先,在manifest.xml中你要跳轉到的activity中添加如下代碼:


    <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

               <data android:pathPrefix="/a" android:host="www.qq.com" android:scheme="http"/>
            </intent-filter>

 
 

注意:在以上代碼中android:pathPrefix="/a",這個屬性定義了內容提供器的資料子集的URI的初始部分,這就說明設定schema(http)一切支援連結的頭

host(我們連結主體部分)都與短連結相同的情況下,還有一個承擔過濾器的屬性:pathPrefix,這個屬性的值只需要填寫這個連結主體後面的第一個“/*”的內容就行,當然還有一個是提供完整URI的屬性:android:pathpattern,這兩個屬性看你們的需要選擇,關鍵在於這個URI是不是固定的,而我的這個例子,連結的尾部不固定,所以我使用android:pathPrefix屬性將固定的過濾內容填寫進去就行,到時候http://www.qq.com/a/b/?這個串連只要http://www.qq.com/a不變,後面無論怎麼變都會彈出我這個應用的選擇項。

下面看在我點擊串連以後出現選擇框,點選進入我的應用程式後,我代碼中如何提取整個串連的內容:

try {
Log.e("獲得點擊的串連全部內容", getIntent()
.getDataString());
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e("e.printStackTrace()", "擦,哥哥不是從短連結進來的!");
}


 


}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.