Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android:管理多个通知

Android:管理多个通知
EN

Stack Overflow用户
提问于 2010-08-12 06:31:52
回答 2查看 8.9K关注 0票数 9

我正在尝试在我的应用程序中创建多个通知。为了唯一地标识每个通知,我为它们提供了一个唯一的identificationId。以下是我的代码:

代码语言:javascript
运行
AI代码解释
复制
private void updateNotification(int notificationId, int clockStatusID, CharSequence text) {
 //notificationManager.cancel(notificationId);
// throws up an ongoing notification that the timer is running
Log.i("TIMERCOUNT", "Notification id: " + notificationId);
Notification not = new Notification(clockStatusID, // the
    // icon
    // for
    // the
    // status
    // bar
    text, // the text to display in the ticker
    System.currentTimeMillis() // the timestamp for the
    // notification to appear
);
Intent intent = new Intent();
intent.putExtra("notificationID", notificationId);
intent.setAction("actionstring" + System.currentTimeMillis());
intent.setClassName("com.chander.time.android.activities",
"com.chander.time.android.activities.Tabs");


not.setLatestEventInfo(self,
    getText(R.string.timer_notification_title),
    getText(R.string.timer_on_notification_text), PendingIntent
    .getActivity(this, 0, intent,
        PendingIntent.FLAG_UPDATE_CURRENT));

not.flags += Notification.FLAG_ONGOING_EVENT;
not.flags += Notification.FLAG_NO_CLEAR;
notificationManager.notify(notificationId, not);
}

问题:当选择一个通知时,Tabs活动被调用来传递意图。我想要访问在选项卡中选择的通知的唯一notificationId。我尝试使用intent.putExtra()将notificationId保存在intent中。但是,对于多个通知,它会覆盖notificationId并返回最新的通知。我不明白为什么会发生这种情况,我怎样才能避免这种对notificationId的覆盖。

谢谢,钱德

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-12 17:39:51

我知道答案了。意图被缓存了进去。要创建新的意图,只需添加以下代码:

代码语言:javascript
运行
AI代码解释
复制
saveCallIntent.setData((Uri.parse("custom://"+System.currentTimeMillis())));

这使得意图独一无二。

此外,有人向我推荐了以下代码,以使意图具有唯一性:

代码语言:javascript
运行
AI代码解释
复制
saveCallIntent.setAction("actionstring" + System.currentTimeMillis());

它对我没有帮助,但可能对别人有帮助。

--钱德

票数 16
EN

Stack Overflow用户

发布于 2012-02-24 07:44:42

只需在pendingIntent中放置notificationId而不是0。

代码语言:javascript
运行
AI代码解释
复制
PendingIntent.getActivity(this, notificationId, intent,PendingIntent.FLAG_UPDATE_CURRENT));

用户还必须同时更新以下代码和上面的代码,才能使其正常工作。

代码语言:javascript
运行
AI代码解释
复制
 mNotificationManager.notify(notificationId, mBuilder.build());
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3465230

复制
相关文章
原 在windows上创建文件名以“.”开头的文件
如果在windows平台上,右键选择“新建”->“文本文档”,给取名”.npmignore”,会发现报错“必须键入文件名”,如下图。
全栈程序员站长
2022/07/07
1.5K0
原 在windows上创建文件名以“.”开头的文件
SpringBoot 的 logback 日志配置
1. 在 resources 目录下创建日志的配置文件 logback-spring.xml , 这是 SpringBoot 官方约定的名称
北漂的我
2020/07/03
7710
SpringBoot——配置logback日志
介绍: 在项目运行中,我们需要对项目的出错或运行有了解,可以通过日志文件的查看来实现。因此,项目日志的打印就至关重要。本文给出一种logback日志的配置。改配置会在每天进行整理,同时区分不同的日志级别进行记录。
凡人飞
2020/09/21
2.3K0
SpringBoot——配置logback日志
logback的日志配置文件
部署运行后发现,在Linux下面 tomcat的日志文件catalina.out增长速度很快,造成愈来愈大;
JQ实验室
2022/02/09
3550
windows系统不能创建的文件名
使用git clone一个仓库怎么也克隆不成功,一查原因竟是windows系统下不能创建某些文件(夹)。 重现问题 执行git clone xxx报以下错误。 fatal: cannot create directory at 'CON': Invalid argument warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status' and retry the ch
Qt君
2019/08/23
1.3K0
windows系统不能创建的文件名
Spring Boot logback日志配置
Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。
技术从心
2019/09/05
1.2K0
如何删除一个文件名以分号开头的文件
该文讲述了如何删除一个文件名以分号开头的文件。作者通过在Linux上使用VIM编辑器不小心创建了一个文件名以分号开头的文件,尝试使用多种方法删除该文件,包括使用rm命令和转义字符。最后,作者通过在rm命令中添加转义字符成功删除了该文件。
雷大亨
2018/01/01
2.4K0
sqlplus spool 到动态日志文件名
      通过sqlplus的spool功能我们将数据库日常运维的结果输出到日志文件,而有时候则需要定时输出,为避免日志文件名的重复,我们可以将输出的日志文件名采用动态命名方式来实现。本文则是针对这个问题给出一个示例,供大家参考。
Leshami
2018/08/14
7950
logback 配置日志输出到 logstash
发表于2018-06-062019-01-01 作者 wind <?xml version="1.0" encoding="UTF-8" ?> <configuration> <inclu
前Thoughtworks-杨焱
2022/02/19
1.3K0
springboot超级详细的日志配置(基于logback)
  java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用)。其中性能最高的应该使 logback 了,而且 springboot 默认使用的也是 logback 日志,所以本篇将会详细的讲解 logback 的日志配置方案。
用户2038589
2019/06/13
25.6K0
基于Spring Boot的Logback日志轮转配置
在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的。我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异。这里就结合Spring Boot配置一下Logback的日志。 默认最简单的配置 默认情况下,如果对日志没有特殊处理,可以直接基于application.properties进行配置。 常用的参数有: logging.level 配置日志的级别 logging.file logging.path 这两个参数只能配置一个生效,一个是文件(可以有绝对
用户1154259
2018/01/17
1.1K0
基于Spring Boot的Logback日志轮转配置
Python批量创建和修改文件名案例
*.xlsx为你的班级的姓名与学号的excel表格,记得修改read_excel(’ ')为你的路径.
北山啦
2022/11/27
1.1K0
Python批量创建和修改文件名案例
Flink Logback日志与邮件报警配置
Flink官方推荐使用Logback替代默认的Log4j作为日志框架。我们之前一直用Log4j,最近切换成了更优秀的Logback,但是配置起来略有点麻烦,本文简述配置过程。
王知无-import_bigdata
2020/03/18
2.4K0
日志-logback
终于有时间整理logback-spring.xml文件了,搭建完整的javaWeb项目也就缺少了这项基本技能了。不多介绍了,看下整个完整的项目项目搭建流程吧。
码农王同学
2020/03/25
7290
如何修改AS2接收的文件名?
知行之桥EDI系统的AS2端口,负责接收和发送EDI文件。企业通过AS2端口接收来自交易伙伴的文件时,其文件名会和交易伙伴发出的文件名完全一致;如果交易伙伴发过来的请求中没有文件名或者文件名没有出现在AS2 协议规定的位置,AS2端口会使用当前时间戳作为文件名。当然企业也可以在EDI系统中根据实际要求,对文件名进行重命名。那怎样进行文件名修改操作呢?
知行软件EDI
2023/04/20
7350
如何修改AS2接收的文件名?
linux的文件名的长度限制_linux补全文件名
编写本文档,主要目的是为了验证linux下文件数、目录数、文件名长度的各种限制二、文档内容
全栈程序员站长
2022/11/01
5.9K0
【说站】python如何读取文件名
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
很酷的站长
2022/11/24
1.4K0
【说站】python如何读取文件名
Logback日志配置文件添加颜色区分
<pattern>%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) %blue([%thread]) %highlight(%-5level) %green(%logger) - %msg%n</pattern>
4xx.me
2022/06/09
9150
Flink(1.12.1)日志配置Logback实现日志切分和kafka发送
产线环境上的Flink应用是长时运行的应用,日志量较大,需要将flink应用的日志发送到外部系统,方便进行日志检索。
Eights
2021/03/16
2K0
Flink(1.12.1)日志配置Logback实现日志切分和kafka发送
点击加载更多

相似问题

如何从JUnit获取eclipses空分析以使用assertNotNull

10

Spring安全将容器安全性和JWT令牌结合起来

11

JUnit:我应该在assertNotNull之后做空检查吗?

35

应使用AssertNull或AssertNotNull

42

AssertNotNull AssertionFailedError: expected:不是<null>

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文