博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发通知 PendingIntent 中Intent 内容没有更新
阅读量:6972 次
发布时间:2019-06-27

本文共 788 字,大约阅读时间需要 2 分钟。

hot3.png

当我们把Activity 启动模式设置为 singleTask 之后 当我们下次 再去 用Intent 启动 这个 Activity 的时候 就不会去调用 onCreate方法 而是去调用onNewIntent()方法 然后把Intent中的数据传给它 , 前几天遇到的问题是 当我 发一个通知给状态栏 然后点击这个通知 自然会执行 PendingIntent 里边的Intent。 但是 在Activity那边的 onNewIntent()方法里边 得到的数据 不是最新的 也就是说 是 第一次的 以后 不管我怎么点通知 它都 是 第一次点击通知得到的数据,当以后再点击通知的时候其实 数据已经变了 但是 onNewIntent()方法总是得不到最新的数据, 无语了很久, 去 农民伯伯翻译组 发问得解 需要给 PendingIntent 加一个 FLAG
Java代码
PendingIntent contentIntentBegin = PendingIntent.getActivity(
notificationContext, 0, inStart, PendingIntent.FLAG_UPDATE_CURRENT);
最后一个参数就是 FLAG,这个FLAG 的 意思就是:如果系统中已存在该PendingIntent对象,那么系统将保留该PendingIntent对象,但是会使用新的Intent来更新之前PendingIntent中的Intent对象数据,例如更新Intent中的Extras。这个非常有用,例如之前提到的,我们需要在每次更新之后更新Intent中的Extras数据,达到在不同时机传递给MainActivity不同的参数,实现不同的效果。

转载于:https://my.oschina.net/lhjtianji/blog/506999

你可能感兴趣的文章
Socket IO与NIO(五)
查看>>
Kotlin之UI篇
查看>>
Node.js 究竟是什么?
查看>>
进制转换—Visual Basic
查看>>
第二十四周项目4-猴子选大王(约瑟夫问题)
查看>>
【转】深入浅出JavaScript之闭包(Closure)
查看>>
【算法学习笔记】76.DFS 回溯检测 SJTU OJ 1229 mine
查看>>
如何计算团队贡献
查看>>
Java Socket通信读取相关信息代码
查看>>
WebService三大基本元素 SOAP WSDL UDDI
查看>>
intelliJ idea运行新的test功能时,报错:class not found "....." empty test suite
查看>>
3.使用Maven构建Web项目
查看>>
Eclipse常用设置
查看>>
原生css3作响应式布局
查看>>
.net 中对于ToString的使用
查看>>
cygwin 安装apt-cyg命令
查看>>
linux fdisk
查看>>
HDU4625 JZPTREE——第二类斯特林数
查看>>
linux 排查page的状态问题
查看>>
初学者对编译原理是什么,作用,优点,
查看>>