百度云推送避免点击通知后直接进入主Activity

百度云推送,打开通知后,正常逻辑处理打开逻辑,每次点击通知,打开的是程序的启动页,按返回键,要打开的activity却出来了,刚开始以为是activity的启动模式的问题,试了几个也不行。后来看到这篇文章:文章截图
原文链接
和文章说的一样要打开的Activity的onPause()方法确实执行了。问题找到了,接下来开始找解决办法。
官网的Android客户端常见问题汇总 链接

  1. 消息到达后怎么控制跳转到Activity?

有两种方式实现:

客户端控制,在接收消息的Receiver里消息点击的回调方法onNotificationClicked里使用代码控制跳转,具体实现可以参考官网PushDemo;
服务端控制,使用自定义行为控制跳转,具体使用方法参考问题9。

在百度云微信公众号上的解释会更直接些。原文链接
这里写图片描述
按照上图的要求,再次推送时这里写图片描述
问题就解决了,关于 open_type确实是可以设置的:点击通知后的行为(1:打开Url; 2:自定义行为;); open_type = 1,url != null:打开网页; open_type = 2,pkg_content = null:直接打开应用; open_type = 2,pkg_content != null:自定义动作打开应用 官网链接文档。
关于这类问题的处理思路:
首先确定问题的原因,之前看到这个问题以为是程序的问题,但是实在找不到原因,这是后就应该考虑是不是SDK本身的缺陷。
这个问题的排除思路:

  • 启动模式的设置问题,排除方法 更改启动模式,调试。
  • 查看相关Activity的生命周期函数。例如这个问题每次点击通知,打开的是程序的启动页,按返回键,要打开的activity却出来了,说明相关的页面已经执行,然后再看该activity的生命周期发现onPause()方法执行了,开始怀疑是否是SDK的问题,可以去官网上看看相关的问题汇总,问问技术客服,百度一下,可能就会一步一步找到相关问题,当然找一个刚踩过坑的人问问再好不过了。

我是IT小王,如果喜欢我的文章,可以扫码关注我的微信公众号
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值