今天做Android推送通知模块,发现在Service中使用PendingIntent打开Activity时,虽然每次通知都会改变putExtra中的值,但是Activity里getStringExtra时,值没有任何变化,很奇怪。
加了一些Flag
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
也没有起作用
查了一些资料,发现如果你之前已经创建过一个PendingIntent,而之后创建的PendingIntent和之前的基本相似,那么就必须加上如下的声明PendingIntent.FLAG_UPDATE_CURRENT,否则extras不会传递到目标Activity
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
原文如下:
http://stackoverflow.com/questions/4340431/how-can-i-correctly-pass-unique-extras-to-a-pending-intent
分享到:
相关推荐
博客《详解PendingIntent》所涉及的源码,这是博客中所说的有问题的PendingIntent对应原源代码
这样我们就可以画出如下示意图:PendingIntent 只能通过下列的静态方法获取//获取Broadcast关联的PendingIntent PendingI
博客《详解PendingIntent》有问题的源码第二部分
NULL 博文链接:https://sunzone.iteye.com/blog/1998091
Android中pendingIntent的深入理解
PendingIntent 分别实现了Notification和sms短信发送的两个示例
android的服务以及通知的小例子 个人存档 代码笔记见http://blog.sina.com.cn/s/blog_70356c200100y9pf.html
Notification的用法和PendingIntent的使用
简单的总结了Intent和PendtingIntent的区别,经常与alermanger 和notificationmanager一起使用。
自制发送短信程序--SmsManager与PendingIntent类的使用
NULL 博文链接:https://technicalsearch.iteye.com/blog/2007636
android-闹钟 使用 AlarmManager、BroadcastReceiver 和 PendingIntent 的重复 Android 警报的简单示例
PendingintengTest
本文实例讲述了Android编程实现PendingIntent控制多个闹钟的方法。分享给大家供大家参考,具体如下: 要用 android.app.PendingIntent.getBroadcast(Context context, int requestCode, Intent intent)来实现控制多...
Android中PendingIntent的简要介绍.pdf 学习资料 复习资料 教学资源
android 自制发送短信程序 SmsManager与PendingIntent对象
主要介绍了Android中pendingIntent的深入分析的相关资料,需要的朋友可以参考下