Android H5跳转App指定页面Scheme经验分享(类似淘宝)

本文分享了如何实现Android中H5页面通过Scheme无缝跳转到App的指定页面,类似淘宝的体验。在欢迎界面配置Scheme,如'leoapp',并配合H5端的调用 leoapp://login.app?url=shceme 进行跳转。测试时建议在浏览器和WebView中都进行,注意部分浏览器可能不支持。

前言:网上关于这块可参考的资料不多,由于自己项目有这方面的需求,走了弯路,踩了坑,最后实现了功能,也有需要改进的地方,后面我会说明,希望大家指正。
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,百度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值