Notification&PendingIntent 发现问题+解决+思考

项目上遇到一个通知栏消息打开的bug,解决的过程很有意思,所以写下来纪念下。


问题是这样的,我们使用的信鸽推送,当用户购买下单后,会发送一条消息,通知栏点击消息,根据消息中的交易流水号打开对应的订单详情页面。问题来了,当我们连续购买2单(多单),通知栏有2条(多条)消息时,只有第一次点击的消息可以正确的跳转到对应的页面,第二条消息点击是没有反应的。

Intent intent = new Intent(context, OrderDetailActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(OrderDetailActivity.ORDER_IS_AFTER_ONE_MONTH, false);
intent.putExtra(OrderDetailActivity.ORDER_SERIAL_NUM, new JSONObject(mr.sExt).getString("serial"));
intent.putExtra(OrderDetailActivity.ORDER_BIZ, new JSONObject(mr.sExt).getString("biz"));
pi = PendingIntent.getActivity(context, nId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
n.defaults |= Notification.DEFAULT_SOUND;
n.defaults |= Notification.DEFAULT_VIBRATE;
n.flags |= Notification.FLAG_AUTO_CANCEL;
n.setLatestEventInfo(context, msgTitle, msgConte
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值