android 通知功能实现原理,Android应用图标在状态栏上显示实现原理

这篇博客介绍了如何在Android应用中实现通知功能,将应用图标显示在状态栏上,并在接收到消息时动态更新图标。通过NotificationManager和Notification类,设置FLAG_ONGOING_EVENT和FLAG_NO_CLEAR标志,确保图标在通知被清除后仍然显示。当应用失去焦点时,可以通过更换resId更新状态栏图标。
摘要由CSDN通过智能技术生成

一、前方

在研究《Android类似360,QQ管家那样的悬浮窗》突发奇想,想把应用的图标也显示到状态栏上,类似手机QQ,而有消息来时改变状态栏上的图标显示。

二、原理

其实很研究完后,才发现,很简单:

2.1 显示图标在状态栏上

代码如下:

NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

Notification n = new Notification(

resId, "Floats Start!", System.currentTimeMillis());

// 将此通知放到通知栏的"Ongoing"即"正在运行"组中

n.flags |= Notification.FLAG_ONGOING_EVENT;

// 表明在点击了通知栏中的"清除通知"后,此通知不清除,

// 经常与FLAG_ONGOING_EVENT一起使用

n.flags |= Notification.FLAG_NO_CLEAR;

PendingIntent pi = PendingIntent.getActivity(this, 0, getIntent(), 0);

n.contentIntent = pi;

n.setLatestEventInfo(this, "FloatsWindow", "start!", pi);

nm.notify(NOTIFICATION_ID_ICON, n);

2.2 修改图标的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值