admin管理员组

文章数量:1616425

现在的h5与Android原生的交互越来越多,为了提升用户的体验,想分享红包或者一些运营活动,都希望能够直接唤起原生的app,并跳转指定的页面。由于Android的浏览器较多,层次不齐,很难适配。下面我介绍的方法,经测试在chrome、uc、魅族自带的浏览器、搜狗浏览器、360浏览器、QQ浏览器、遨游浏览器、火狐浏览器都可适用,甚至可以直接在QQ里面打开,但是在百度浏览器上没有任何反应。

服务端代码

~<!DOCTYPE html>    
<html>    
<body>    
<a href="scheme://DIDI/startapp?test=test">启动应用程序</a>   
</body>    
</html>~  

Android只需在AndroidManifest.xml文件里面为启动页面添加

<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="DIDI"
                    android:scheme="scheme" />
</intent-filter>

当应用启动时


getIntent().getDataString();

得到的的只就是scheme://DIDI/startapp?test=test,就可以通过得到的值,跳转到App的不同页面。

唤起格式如下:

<a href="[scheme]://[host]/[path]?[query]">启动应用程序</a> 

scheme:调起app的标志

host:与AndroidManifest里面的host保持一致

本文标签: 浏览器app