博客
关于我
Notification 使用详解(很全
阅读量:799 次
发布时间:2023-02-16

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

Android系统提供了强大的通知管理功能,可以让应用程序在状态栏中显示通知和图标。当用户接收到重要信息时,通知可以提醒用户查看。Android中使用NotificationManager来管理通知显示。

添加通知

获取NotificationManager

首先,获取NotificationManager实例:

NotificationManager m_NotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

创建一个通知

创建一个新的Notification对象:

Notification m_Notification = new Notification();

设置通知属性

设置通知图标:

m_Notification.icon = R.drawable.icon;

设置通知显示内容:

m_Notification.tickerText = "Button1 通知内容.....";

设置默认声音:

m_Notification.defaults = Notification.DEFAULT_SOUND;

设置点击通知时的意图:

Intent m_Intent = new Intent(NotificationDemo.this, DesActivity.class);PendingIntent m_PendingIntent = PendingIntent.getActivity(NotificationDemo.this, 0, m_Intent, 0);

设置最新事件信息:

m_Notification.setLatestEventInfo(NotificationDemo.this, "Button1", "Button1通知", m_PendingIntent);

发送通知

发送通知到状态栏:

m_NotificationManager.notify(0, m_Notification);

删除通知

要删除通知,可以使用NotificationManager的cancel方法:

m_NotificationManager.cancel(0);

这里的0是通知的ID,与前面notify方法中的ID一致。

关于NotificationManager

NotificationManager负责管理通知显示。它提供了几个重要的方法:

  • cancel(int id):取消指定ID的通知。如果通知是短暂的,会从状态栏中移除;如果是持久的,会从状态条中移除。
  • cancelAll():取消所有显示的通知。
  • notify(int id, Notification notification):将通知持久地发送到状态栏。
  • 关于Notification

    Notification对象表示一个通知。它的主要属性包括:

    • icon:状态栏显示的图标。
    • tickerText:状态栏显示的文字内容。
    • defaults:默认设置,如声音。
    • contentIntent:点击通知时执行的意图。
    • contentView:在状态栏下显示的视图。
    • deleteIntent:清除所有通知时执行的意图。
    • number:状态栏图标上的数字提示。
    • vibrate:通知的震动模式。
    • ledARGB:LED灯的颜色。
    • ledOffMSledOnMS:LED灯的闪光时间。
    • when:通知产生的时间。

    创建和触发通知

    要创建并触发一个通知,基本步骤如下:

  • 创建一个新的Notification对象。
  • 设置通知的各项属性,如图标、文字内容、声音等。
  • 使用NotificationManager的notify方法发送通知。
  • 更新通知

    如果需要更新一个通知,可以在设置好notification后,再次调用setLatestEventInfo,并重新发送一次通知。

    注意事项

    • 确保DesActivity在AndroidManifest.xml中声明。
    • 请根据需求设置通知的显示时间和内容。

    通过以上方法,可以轻松地在Android中创建和管理通知,提升用户体验。

    转载地址:http://sljfk.baihongyu.com/

    你可能感兴趣的文章
    Nessus漏洞扫描教程之配置Nessus
    查看>>
    Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
    查看>>
    Netpas:不一样的SD-WAN+ 保障网络通讯品质
    查看>>
    Netty WebSocket客户端
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>
    Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
    查看>>
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>
    Netty源码—7.ByteBuf原理三
    查看>>
    Netty源码—7.ByteBuf原理四
    查看>>
    Netty源码—8.编解码原理二
    查看>>