Android 实现通知栏显示多个notification

Android 弹无虚发之第四弹:你应该掌握的Notification(Notification的通知栏常驻、Notification的各种样式、Notification点击无效) Android的Notification是android系统中很重要的一个机制,产品人员常常利用通知栏的方式,跟用户进行弱沟通。拥有推送通知的app要比没有此类功能的app活跃率要高很多。另外类似于墨迹天气,清理大师等app,也会将通知栏常驻,利用自定义的布局,方便用户及时快捷的查看所需的信息和使用快捷的功能。所以Notification的使用,也在开发当中,使用的越来越频繁。今天我就来跟大家分享 阅读详情

1、notifcation要显示多条,那么NotificationManager.notify( id, notify);  中的要保持不一样;

如果id值一样,那么就把之前的notify覆盖更新为当期最新的;

2、点击notification 进入到activity, 使用到pendingIntent类方法,PengdingIntent.getActivity()的第二个参数,即请求参数,

实际上是通过该参数来区别不同的Intent的,如果id相同,就会覆盖掉之前的Intent了,

 

只要每个不同的Intent对应传递一个独立的ID就可以,实现每个Notification点击进入对应的activity中:

Java代码  
  1. private Notification genreNotification(Context context, int icon, String tickerText, String title, String content, Intent intent, int id){  
  2.         Notification notification = new Notification(icon, tickerText, System.currentTimeMillis());  
  3.         // 问题就在这里的id了  
  4.         PendingIntent pendIntent = PendingIntent.getActivity(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);  
  5. // 使用了原始布局
  6.         notification.setLatestEventInfo(context, title, content, pendIntent);  
  7.         notification.flags |= Notification.FLAG_AUTO_CANCEL;  
  8.         return notification;  
  9.     }  
  10.   
  11. ...  
  12. mNotificationManager.notify(ID_1,   
  13.                     genreNotification(mContext, ICON_RES,   
  14.                             notifyText1, notifyTitle1, notifyText1, intent_1, ID_1));  
  15. ...  
  16. mNotificationManager.notify(ID_2,   
  17.                     genreNotification(mContext, ICON_RES,   
  18.                             notifyText2, notifyTitle2, notifyText2, intent_2, ID_2));  
  19.   
  20. ...  
  21. mNotificationManager.notify(ID_3,   
  22.                     genreNotification(mContext, ICON_RES,   
  23.                             notifyText3, notifyTitle3, notifyText3, intent_3, ID_3));  

3、notification使用自定义布局:
notification = new Notification(R.drawable.app_icon, content,
System.currentTimeMillis());
notification.defaults = Notification.DEFAULT_ALL; // 使用默认设置,比如铃声、震动、闪灯
notification.flags = Notification.FLAG_AUTO_CANCEL; // 但用户点击消息后,消息自动在通知栏自动消失
notification.flags |= Notification.FLAG_NO_CLEAR;// 点击通知栏的删除,消息不会依然不会被删除


Intent intent = new Intent(ctx, ContentNotifyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP);

intent.putExtra("content", content);
intent.putExtra("number", title);
intent.putExtra("date", date);
intent.putExtra("title", title);
RemoteViews remoteView = PushApplication.getInstance()
.getRemoteViewsView();
remoteView.setImageViewResource(R.id.notification_icon,
R.drawable.app_icon);
//标题
remoteView.setTextViewText(R.id.notification_title, title);
//内容
remoteView.setTextViewText(R.id.notification_content, content);
// 设置notification的contentView为 remoteView
notification.contentView = remoteView;


pi = PendingIntent.getActivity(ctx, NOTIFICATION_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT);

// 原始样式
// notification.setLatestEventInfo(ctx, title, content, pi);


notification.contentIntent = pi;

// 将消息推送到状态栏
manager.notify(NOTIFICATION_ID++, notification);

通知栏Notification和常驻通知栏 通知栏Notification和常驻通知栏: &&.普通Notification 一、整体步骤 //1.获取通知栏管理器实例 NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);  //2.获取要弹出的Notification Not 阅读详情

相关推荐

Android--Notification横幅通知栏

一、概述 1、Notification,是一种具有全局效果的通知,可以在系统的通知栏中显示。在发出一条通知后,手机最上方的状态栏会显示一个通知的图标,下拉状态栏后就可以看到通知的详细内容。 2、样式 其属性描述如下: 1.代表:通知标题,通过 setContentTitle() 方法设置。 2.代表:大图标,通过 setSmallIcon() 方法设置。 3.代表: 通知内容,通过 setContentText() 方法设置。 4.代表:通知消息 5.代表:小图标,通过 setLar...

超宇的博客 5103

Android Notification --- 多条通知

直接上代码,只要通知的id不一样就可以实现多条通知,也是就是这句notificationManager.notify(mNotificationNum, notification.build()); 还有一个问题,服务端一般不会给你返通知id,也不好返,那怎么办??? 我是这么处理的,当通知条数超过10条之后把时间最早的那条通知替换掉 /** * 实现自定义...

black_bread的专栏 6047

Android中通知栏Notification的简单介绍

Android通知栏的实现就是用到通知机制中的通知栏框架(Notificaiton),例如聊天后台消息的提示,本地闹钟播放器提示,以及推送的各种消息的显示,都离不开Notificaiton的使用,那么首先我们简单的介绍一下 Notificaiton。 Notificaiton的功能作用 1.长链接中显示接收到短消息、即使消息等信息 例如:QQ、微信、短信等; 2.显示各个AP

qq_20814941的博客 5356

Android 通知栏 PendingIntent.getActivity(context, requestCode, intent, flags);参数详解

写这个博客的原因是,我曾在项目中被Android通知栏坑了好久。由于个人能力的原因,以及其他原因,一直拖了好久,才解决。 不知道大家有没有遇到过这种问题: 通过下面的方法创建三个通知:public void notify(String desc) { Intent perIntent = new Intent(context, TestActivity.class);

傲子_的博客 1万+

安卓RemoteViews学习、Notification通知栏开发、PendingIntent概述

本文主要介绍安卓RemoteViews、PendingIntent、通知栏Notification的内容

简之易安的博客 2436

Android studio 28 通知栏报错Failed to post notification on channel "null"

今天老师上课上到通知,教材是第一行代码,可能教材上的源码太久了,我在用安卓9的时候,模拟器报错Failed to post notification on channel “null”,在网上查了很久才知道,Notification在android 26以上设置时,需要设置渠道信息才可以正常显示通知,这是 官方文档地址[https://developer.android.google.cn/abo...

Mushan_vv的博客 2482

android 显示多个notification,android – 如何将多个通知显示为一个组?

它会生成包含Gmail等多条消息的通知NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.quemark1).setContentTitle("Title").setContentText("New Message received");Notifica...

weixin_39564755的博客 878

实现Android常驻通知栏Notification的完整指南

Android Notification是Android系统中用于向用户显示应用状态更新的一种机制。它能够让应用在不打断用户当前操作的情况下,展示信息。随着Android版本的更新,Notification的管理和用户交互方式也发生了很大的变化。创建一个Notification Channel,首先需要定义一个Channel ID和Channel Name。Channel ID是一个字符串,用于在程序中唯一标识这个Channel。Channel Name是用户可见的名称,应简洁明了地描述通知的用途。

weixin_36073714的博客 1634

Android通知栏(设置多通知,跳转至对应的界面)

最近在开发项目的过程中需要接入消息推送,综合各种情况后最终选择使用环信的消息透传来实现 其中,遇到一个问题,就是不管推送多少条,信息栏中只显示最后一条信息,最终查阅资料后,找到了原因 实现的过程如下(前提是app内部已接入环信,并且配置好了环信) ** * 获取透传信息 */ public void getTouChuanXinxi() { // 注册一个cmd消息的Broa

2722

从零开始理解固定翼能量控制:Pixhawk TECS算法保姆级教程

本文深入解析了Pixhawk飞控中的TECS(总能量控制)算法,旨在解决固定翼无人机纵向控制中速度与高度耦合的经典难题。教程从物理概念出发,阐释了TECS通过管理总能量与分配能量形态来实现油门与升降舵解耦的核心思想,并提供了参数调试的实战指南,帮助开发者优化飞行性能。

white的博客 250

管道机器人手臂机械结构设计cad【8张】+三维图+设计说明书+绛重

履带式管道机器人适用于各种管道环境,包括直管道、弯曲管道、水平管道、垂直管道等,其灵活性和适应性使得它可以应对不同形状和尺寸的管道,完成全面的检测和维护工作。管道机器人研究具有重要的现实意义和深远的社会影响,通过提高工作效率、降低人员风险、提升服务质量、节约成本资源和促进科技创新等方面的作用,为现代工程技术领域的发展和进步做出了积极的贡献。管道机器人是一种能够在管道内部执行各种任务的智能机器人,而管道机器人的机械臂对于管道机器人在管道内执行任务的灵活性、稳定性和效率至关重要。

kejigongjiang的博客 943

Android 通知栏Notification的整合全面学习

在Android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。 下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。

dxcami的博客 618

学习海康VisionMaster之表面缺陷滤波

本文介绍了VisionMaster中表面缺陷滤波技术的应用。该技术通过数学变换抑制背景干扰、增强缺陷特征,适用于电池铝壳、垫圈/螺丝等无纹理背景的表面缺陷检测(划痕、凹坑、异物等)。操作流程包括:图像导入、轮廓定位、位置修正、参数设置(重点讲解滤波核尺寸/数量/标准差等关键参数的调整策略)。文章通过案例演示了如何通过多方向滤波响应识别表面划伤,并指出需结合blob分析进一步优化检测结果。该技术对工业质检具有实用价值,参数设置需结合缺陷特征与背景特性灵活调整。

yuhouxiyang的专栏 2828

android 获取上传进度条,android 实现Service上传并在通知栏显示进度条

手上项目需要实现选择多个视频后在上传腾讯云,由于视频较大大,所以选择Service来进行上传任务,配合Notification显示进度。NotificationManager mNotificationManager;RemoteViews view;List paths; //需要上传的视频地址Notification notification;int notifyid = 30001; //自...

weixin_30775883的博客 991

【FPGA】定点数运算中的位宽优化与截取策略

本文深入探讨了FPGA定点数运算中的核心挑战——数据位宽优化与截取策略。针对定点数在加法、乘法等运算中位宽膨胀的问题,文章详细分析了位宽变化规律,并对比了直接截断、四舍五入和收敛舍入三大截取策略的优缺点及硬件实现方法。通过实战指南与避坑经验,旨在帮助开发者在保证计算精度的同时,高效利用FPGA资源,实现性能与面积的平衡。

weixin_29181861的博客 117

基于IDEA与Mill构建Windows下的Chisel开发环境——香山处理器源码解析实战

本文详细指导如何在Windows系统下使用IDEA集成开发环境和Mill构建工具搭建Chisel开发环境,并以香山处理器源码为实战案例进行解析。内容涵盖环境准备、源码获取、工程构建、IDEA配置优化及代码阅读技巧,帮助开发者高效学习硬件设计语言。

a1b2c3d的博客 717

安卓开发 通知栏Notification详解

安卓开发通知栏Notification的详细介绍和用法示例

wm 6939

YOLOv11缝合改进Conv | SAConv在YOLOv11中的应用可切换空洞卷积与性能提升(附代码)

在本篇文章中,我们将深入探讨如何通过引入**SAConv**(Switchable Atrous Convolution,可切换空洞卷积)来优化YOLOv11网络结构,特别是在卷积操作方面的创新。我们会解析SAConv的核心原理和架构设计。

一键难忘的博客 953

安卓Notification通知栏全解

全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓通知栏是提醒用户信息有效手段,也是通过用户的行为触发事件服务的方式。 Notification允许在当前应用程序不活动或不可见时向用户发送信号。 创建通知栏有使用Notification直接创建何使用Notification.Builder创建两种方法 1、使用Notification直接创建通知栏 private

1865

国科大学习资料--人工智能原理与算法-2020年期末考试题解析(学长整理)

国科大学习资料–人工智能原理与算法-2020年期末考试题解析 张文生老师主讲 试卷共有6道题,题目不难,希望大家能取得好的成绩。 3.9 传教士和野人问题。三个传教士和三个野人在河的一岸,有一条能载一个人或者两个人的船。请设法使所有人都渡到河的另一岸,要求在任何地方野人数都不能多于传教士的人数。这个问题在AI领域中很有名,是因为它是第一个从分析的观点探讨问题形式化的论文的主题(Amarel,1968)。 a. 请对该问题进行详细形式化,只描述确保该问题求解所必需的特性。画出完整的状态空间图。 b. 应用合适

无名何许人的博客 4788

JAVA:Spring Boot3 集成 Spring AI 实现 Skill 开发

本文介绍了如何通过Spring Boot和Spring AI实现大模型技能(Skill)开发,让AI具备调用业务系统能力。文章首先解释了Skill的概念,即AI可调用的业务能力,如查询订单、天气等,并展示了执行流程和整体架构。然后详细介绍了实践样例,包括技术版本、Maven依赖配置、AI服务设置、ChatClient创建和Skill技能注册中心的实现。注册中心提供了技能的注册、查询、启用/禁用等功能,支持按类别管理技能,并能够获取所有可用技能列表。通过这种方式,开发者可以轻松为大模型扩展业务功能调用能力。

木头 623

Android开发安卓10不显示通知栏Notification不显示NotificationManager.notify无效通知栏不显示

Android8.0以上得加channelId Intent intent = new Intent(SplashActivity.this,ChatActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, 0); ...

congcongguniang的博客 6632

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android中显示消息通知栏

参考网址:https://blog.youkuaiyun.com/qq_35749683/article/details/80451791 https://blog.youkuaiyun.com/u011286777/article/details/53319535 /** * 消息通知栏 * @param context * 上下文 * @param cl...

aidou1314的博客 3005

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android notification通知栏方式更新APP

这次是我第一次写博客哦,各位程序猿们,下面是我自己写的一个像支付宝一样在通知栏弹出notification来动态实时更新的小组件,里面用了广播接收者和service组件. 话不多说,直接上代码啦. 首先是activity判断是否需要更新,如果需要更新,则把URL放到bundle里,传递给service public void update() { Intent intent

tomhuang的博客 3681

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。 下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。 (

未来之路 的专栏 30万+

Android自定义通知栏显示

概述 本文主要想说一下android项目开发中经常会使用到通知机制中的通知栏框架(Notificaiton)。通知栏位于设备的顶层,可以展开的通知列表。通知栏的主要作用大概可以分为三大块: 显示未读的消息(短信消息、QQ、微信等消息) 显示客户端的PushMessage(推送消息),如系统更新、新闻、广告推送 显示正在进行的后台程序,如各类型的音乐播放器等。 关键类介绍 ...

wangzunkuan的博客 8968
上一篇: Android开发中minSdkVersion、targetSdkVersion、maxSdkVersion和project.properties中target API level
guowei0502
博客等级 码龄17年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值