Android中默认对PendingIntent的创建(如通过PendingIntent.getActivity方式)会进行优化检测,默认的情况下,新创建的PendingIntent如果和原先的基本一样,那么就会使用原先的PendingIntent。

这就导致在目前的项目中,一定间隔的重复给用户发送某类通知,其中带的Intent里的Extra内容不同,但是通知点击后传到一个Activity里的extra消息还是原来的。那么出现做这种问题可以这样解决,在创建PendingIntent时,语句改成如下:

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

注意PendingIntent.FLAG_UPDATE_CURRENT这个参数,关键就是设置了这个参数,在extra发送变化时确定为新的PendingIntent。其他同类参数的用法可进一步参考API文档。

附上参考网站上发现的解决方法:

http://stackoverflow.com/questions/4340431/how-can-i-correctly-pass-unique-extras-to-a-pending-intent

http://stackoverflow.com/questions/4472447/confusing-behavior-when-starting-new-activity-with-pendingintent

更多相关文章

  1. [置顶] AIDL旅行记之AIDL的简单使用
  2. Android(安卓)9 (P) Zygote进程启动源码分析指南一
  3. Android常用名令集锦(图文并茂)
  4. Android(安卓)overlay 学习 二 Android(安卓)camera preview and
  5. Android(安卓)Activity启动流程分析--------基于Android(安卓)O
  6. Android新建项目与简易Button事件
  7. 如何使用Android中的OpenGL ES媒体效果
  8. Android实现深度链接(APP外带动态参数唤醒APP,并跳转指定页面,APP
  9. 如何使用Android(安卓)UI Fragment开发“列表-详情”界面

随机推荐

  1. android interview questions
  2. android ndk开发-环境搭建(1)
  3. Android(安卓)Provider 属性
  4. Android(安卓)Map开发基础知识学习笔记
  5. Android(安卓)JobIntentService
  6. android 快速启动相关
  7. ch014 Android(安卓)AppWidget
  8. android 的View Tree和 DecorView(Android
  9. Android(安卓)Service总结01 目录
  10. Android事件处理