Android 通过浏览器打开App

今天要写的一个很简单又很常见的一个功能 尤其在H5越来越流行到时候 

比如我在手机端的浏览器在看一个web页面 恰好这时我也安装了和web页同一个公司开发的app

这时候很多时间 web就会提示我们点击打开app 因为目前公司还是需要把很多的精力放在app的推广上

而不仅仅局限于诺基亚时代的3g web页 但是不得不承认 3g web 页的用户量是非常的大的 这就需要来导用户了

那么在Android手机端怎么实现呢?

其实很简单 只要一步 就可以

在你想要被web页唤起的acitivity上 加一个 intent-flater 就可以了 如下

<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:scheme="http" host="test"/>
</intent-filter>

其中data 是比较重要的一个 其中包含了相应的信息 说白了 web页端是通过超链接的方式来打开app的 app端只要对这个超链接做拦截就可以了

<a href="http://test"> 如果你的超链接是这种形式 如上填写就可以了 如果url比较复杂 还要填写path 参数

具体的形式 

<a href="[scheme]://[host]/[path]?[query]"/>

一般超链接唤起都是get 请求方式 那如果想要获得url中的参数可以通过intent来获取

Android里的响应都是intent来完成的

Uri uri  = intent .getData() 获得一个uri

各种参数都是通过这个uri来获得的 比如 scheme host 以及参数 

就是这么简单 在Android系统的手机浏览器直接收入url就可以唤醒界面 在第三方的 浏览器 就不可以了 因为他们很无耻的为了增加流量 直接给搜索去了 并不会被系统拦截 

发布了56 篇原创文章 · 获赞 3 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/haoxuezhe1988/article/details/49928847