前言:网上关于这块可参考的资料不多,由于自己项目有这方面的需求,走了弯路,踩了坑,最后实现了功能,也有需要改进的地方,后面我会说明,希望大家指正。
1.我就不罗嗦了,直接上代码
<activity
android:resizeableActivity="true"
android:name=".SplashActivity"
android:theme="@style/splashStyle">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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="login.app"
android:scheme="leoapp" />
</intent-filter>
</activity>
说明:最好把Scheme配置在欢迎界面,当然你纯粹只是跳转到app,不做其他处理放在MainActivity下面也可以。android:scheme=“leoapp” ,"leoapp"这个要小写,因为H5在浏览器打开会转义成小写。
2.H5那边:leoapp://login.app?url=shceme,下面是android端在SplashActivity,onCreate方法里面取值:
Intent intent = getIntent();
Uri uri = intent.getData();
schemeUrl="";
if (uri != null) {
schemeUrl = uri.getQueryParameter("url");
}
总结:最好是和H5前端一起测试,自己在浏览器输入:leoapp://login.app?url=shceme和webView打开leoapp://login.app?url=shceme测试,问题比较多,不稳定。有点浏览器不支持,比如UC,百度。
本文分享了如何实现Android中H5页面通过Scheme无缝跳转到App的指定页面,类似淘宝的体验。在欢迎界面配置Scheme,如'leoapp',并配合H5端的调用 leoapp://login.app?url=shceme 进行跳转。测试时建议在浏览器和WebView中都进行,注意部分浏览器可能不支持。
&spm=1001.2101.3001.5002&articleId=95510340&d=1&t=3&u=f244cb6ca9de4b439d27f018d6b67a8e)
1万+

被折叠的 条评论
为什么被折叠?



