Android h5 多次唤醒 app 失效的问题

背景

线上发现了一个问题,就是 h5 的分享页面,在第一次成功唤醒 app 并且通过路由跳转到了指定的页面。然后再次回到 h5 的页面唤醒 app,发现 app 没有没有进行页面跳转。网上找了一大堆资料,都没有给出相关的分析和解决方案。

分析

经过排查发现,在第一次唤醒 app 的时候 intent 参数都可以正常拿到数据,但是在第二次唤醒 app 的时候页面没有收到任何数据,在 activity 的声明周期,onCreate 或者 onNewintet 都没有走到。变得非常奇怪。 之后换了另外一台手机进行发现,这个是属于兼容性问题,某一些手机可以正常打开,其他手机不能正常显示。

机型 是否正常多次唤醒

小米 是
华为 是
三星 否
魅族 否
vivo 否
vivo 否

调研其他app

通过其他 h5 唤醒 app的方式发现,其他公司的 h5 所有手机都可以发现问题,但是参数有一些变化。

我的唤醒逻辑: host://scheme?data=Base64(id=xxx)

其他业务逻辑: host://scheme?id=xx&ramdom=随机参数

所以本质的拆别是其他 h5 唤醒 app 的参数,每次都不一样

解决

各个 ROM 厂商对于兼容性不太一样,应该是系统会进行一些防抖逻辑,如果发现参数都一致,那么则不会响应。所以找到了解决办法,就联系 h5 的同学在唤醒app的时候附带一个随机参数即可。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值