美文网首页安卓开发
安卓发送通知不显示状态栏图标的技巧

安卓发送通知不显示状态栏图标的技巧

作者: xiaofei_dev | 来源:发表于2017-05-14 17:41 被阅读121次

2017.11.26 更新:注意本文所介绍的方法可能在非原生系定制 ROM 比如 MIUI 中无效。

你大概知道在安卓系统中往通知栏发送通知时必须要设置小图标,如果你不设置呢?作者本人在 6.0.1 的系统上测试在没有设置小图标的条件下发送通知,结果程序直接崩溃……
抛出了下面这条异常:

 Caused by: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): 

所以,在使用通知时你必须为 NotificationCompat.Builder 调用下面的方法:

 setSmallIcon(int icon)

设置好小图标后,你的通知发出去时小图标会显示在状态栏上。作者前段时间做一个 通知类工具应用 时被用户问到能不能让发出去的通知不显示状态栏图标,因为发出去的通知多了状态栏上堆满图标会看着很不舒服。刚开始我想,你这不是让我不设置小图标吗,这样通知消息发不出来啊老铁。。。于是我直接回复他通知带小图标是安卓平台的强制规范,必须有!你想要不带小图标的通知?不存在的

不存在的.png

后来我忽然想起来一个在安卓平台算是比较有名气的一个app,叫全局复制,这个软件打开后你会看到:

Screenshot_20170514-172935.png
Screenshot_20170514-173043.png

注意全局复制的那条通知在状态栏里是没有相应图标的。
这。。
怎么样,明白了吧,小图标是必须要设置,但不是必须要在状态栏里显示!
我就不卖关子了,想实现不显示状态栏图标的通知?只需要一行代码:

notificationBulider.setPriority(NotificationCompat.PRIORITY_MIN);

对,就是用你的 NotificationCompat.Builder 把通知的 Priority 设置为 PRIORITY_MIN。

就行了,好下课。

哦对了,作者刚才说的那个 通知类工具应用 是作者本人的一个开源项目。
项目托管地址:挂起通知

相关文章

  • 安卓发送通知不显示状态栏图标的技巧

    2017.11.26 更新:注意本文所介绍的方法可能在非原生系定制 ROM 比如 MIUI 中无效。 你大概知道在...

  • 通知撤回技术原理大揭秘。

    通知是指 Android 在应用界面之外显示的消息,发出通知后,通知先以图标的形式在状态栏中显示。用户可以在状态栏...

  • Notification 使用方法详解

    Notification 通知是应用向用户显示的消息提示,当发送通知时,通知将先以图标的形式显示在通知区域中。用...

  • 第八章 丰富你的程序,运用手机多媒体

    8.1使用通知 当应用程序不在前台是,通过通知向用户发送提示消息.发送后,最上方的状态栏会显示通知的图标.,下拉后...

  • 安卓沉浸状态栏

    使用安卓几年了,之前对安卓沉浸式状态栏很有好感,现在学习安卓开发就研究了一番,期间看了不是前辈的博客,学到不上东西...

  • 状态栏修改颜色小总结

    小总结 安卓4.4以上才支持修改状态栏颜色 安卓6.0以上才支持修改状态栏字体和图标颜色,但是国内只有MIUI 魅...

  • android设置消息角标

    xiaomi: 当应用向通知栏发送了一条通知 (除了进度条样式和常驻通知外),应用图标的右上角就会显示「1」。值得...

  • 安卓状态栏适配技巧

    背景 公司长期以来只有一套UI稿,而且是按照iOS标准来设计的,状态栏效果自然是白底黑字。无奈啊,不过没办法,所以...

  • 31.android 通知栏详解

    场景 开发过程中,经常会使用状态栏来通知用户。且不同的应用,状态栏的样式也差异万千,需要自定义。今天就总结一下安卓...

  • 自定义 UIWindow 造成的 UIMenuControlle

    场景:自定义 UIWindow 覆盖状态栏,显示动态。例如: QQ邮箱 的发送邮件状态栏显示进度。 但是如果你的V...

网友评论

本文标题:安卓发送通知不显示状态栏图标的技巧

本文链接:https://www.haomeiwen.com/subject/bpvqxxtx.html