android实现点击短链接进入应用 并获得整个连接的内容

例如:我收到一个短信是一个链接: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实现点击短链接进入应用 并获得整个连接的内容_第1张图片

注意:在以上代码中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()", "擦,哥哥不是从短链接进来的!");
}

android实现点击短链接进入应用 并获得整个连接的内容_第2张图片

OK了  结果是:http://www.qq.com/a/b/c至于你获取以后干什么用,天知道。




下面是手机上的效果图:    如果是android同行的话,有兴趣就进群里,以后一起排忧解难!(QQ新群:172937753

android实现点击短链接进入应用 并获得整个连接的内容_第3张图片







android实现点击短链接进入应用 并获得整个连接的内容_第4张图片


 

你可能感兴趣的:(android)