今天要写的一个很简单又很常见的一个功能 尤其在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就可以唤醒界面 在第三方的 浏览器 就不可以了 因为他们很无耻的为了增加流量 直接给搜索去了 并不会被系统拦截