Android之notification通知无法点击打开APP问题解决

14 篇文章 0 订阅

欢迎关注WX公众号:
门徒与思索

发送多个通知,但是只有点击最新一个才能够打开APP及notification发送通知兼容处理

问题描述

遇到这样一个问题,就是我发送了多条消息到系统通知栏,但是只有点击最新的一条通知,才能够打开APP。我的目标是每条消息都会跳到不同的界面的,但是这样就与设计相违背了,当然不乐意了。

在发送消息的时候,我是每个消息都会有不同的ID的,每个ID都是1-50的随机数,避免重复。

mNotificationManager.notify(msgId, notification);

但是似乎这样还是不行,所以还要继续看是哪里的问题。

跳转当然是用pendingIntent了,所以需要看是不是这里设置的跳转有问题。我的代码逻辑:
在这里插入图片描述
第一和第三个参数应该是没有问题的。

重点看第二个和第四个。

先看第四个参数:这个是说对该pendingintent的处理标志,例如我这里设置为PendingIntent.FLAG_CANCEL_CURRENT,说明当有相同的pendingintent过来的时候,会先取消该intent,然后再创建一个新的intent。当天你也可以设置为FLAG_UPDATE_CURRENT 只要更新它就好了。这个看起来好像是问题,因为我设置为取消了。但是当我改为FLAG_UPDATE_CURRENT之后,也还是一样。所以先排除这个问题。

再看第二个参数:就是一个请求码。对发送者来说是私有的。

因为我设置的requestcode都是一样的,为0,配合第四个参数,判定前后两个intent是一致的,所以对我上一个intent动作进行了取消操作。最后导致只有最新一个intent才能够进行跳转操作。

修改,那么我就将这个requestcode修改为不一样的,然后测试就OK了。代码如下:
在这里插入图片描述
结果点击每一个通知,都能打开APP并跳转到对应的界面。

另外,还有一个关于发送通知的问题,因为Android 8 已经改变了方式,需要做兼容处理。最后把对应的代码贴出来供参考。
Android 8及以上发送通知:
在这里插入图片描述
Android 8以下发送通知:
在这里插入图片描述
当然,在intent上面可以带上你跳转所需要的数据。

以上就是我遇到的点击通知无法跳转遇到的问题及解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值