Android中在浏览器中打开应用程序

    不知道大家有没有遇到这样的场景:在浏览器中浏览网页,比如淘宝,然后淘宝会提示你,在应用内打开。如果你装了淘宝的话,点击链接的话,它就会自动跳转到淘宝,如果你没有安装淘宝的话,那么它会提示你进行下载。我看到了这个功能,觉得这个功能还是挺实用的,于是看了看怎么实现,原来还是挺简单的。

    其实我们不需要在Android代码里做些什么,我们只需要在Android Mainfest文件里添加几个标签就行了,你需要在你希望跳转到的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:host="test.app.com"
        android:scheme="openapp" />
</intent-filter>


    上面的action和category起到筛选的功能,这样能保证你打开网页的时候,能够定位到这个activity。写完这个的话,你就可以在网站端写上链接地址,格式如下:

<scheme>://<host>:<port>/[<path>|<pathPrefix>|<pathPattern>]

     schema指的是协议(?),host表示主机名,port对应的是端口号,path则对应的路径,pathPrefix对应的是路径语法,pathPattern则是路径的匹配模式了,支持基本的匹配符,data格式在mainfest上的格式如下:

     <data android:scheme="string"
      android:host="string"
      android:port="string"
      android:path="string"
      android:pathPattern="string"
      android:pathPrefix="string"
      android:mimeType="string" />

    最后呢,你只需要在你的服务器代码中输入超链接地址,就像这样:

    <a href=“openapp://test.app.com”>测试代码</a>

    如果没有什么问题的话,如果你的应用中包含你所希望跳转的应用成功内需,那么就应该没有问题了。如果你想知道更多的内容,可以到http://developer.android.com/guide/topics/manifest/data-element.html查阅,以上。






你可能感兴趣的:(android)