Android仅在状态栏展开时显示通知

Posted

技术标签:

【中文标题】Android仅在状态栏展开时显示通知【英文标题】:Android show notification only when the status bar is expanded 【发布时间】:2016-03-22 08:36:29 【问题描述】:

android 是否可以仅在状态栏展开时才显示通知?我的意思是只有当我向下拖动状态栏时,我才能看到通知,否则它将被隐藏。如果有可能,我该如何实施?我只需要在最小视图中隐藏状态栏中的应用程序图标即可。Check this

【问题讨论】:

重复***.com/questions/20798565/… @Kelevandos,我不需要在扩展视图中强制显示通知。我想在未展开时从状态栏中删除图标。 那么请编辑您的问题以反映这一点:-) 【参考方案1】:

实际上,我自己发现,从 Android 4.1 (API 16) 开始,可以指定通知的优先级。如果您将该标志设置为 PRIORITY_MIN,通知图标将不会显示在状态栏上,但您仍然可以在展开状态栏时查看通知。

// Use NotificationCompat.Builder to set up our notification.
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(
            this).setOngoing(true);
    notificationBuilder.setContentTitle("my_title"); 
    notificationBuilder.setSmallIcon(ic_launcher);
// Do other stuffs here.

 notificationBuilder.setPriority(Notification.PRIORITY_MIN);// Set this.

【讨论】:

【参考方案2】:

您能否将builder.setSmallIcon(...) 添加到您正在使用的Notification.BuilderNotificationCompat.Builder

您需要尝试在通知中获取小图标的代码:

   // Use NotificationCompat.Builder to set up our notification.
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
   /* icon appears in device notification bar and right hand corner of
     notification */
    builder.setSmallIcon(R.drawable.ic_launcher);//Set this
   .....

【讨论】:

感谢您的帮助,但我想在状态栏未展开时从状态栏中删除该图标。

以上是关于Android仅在状态栏展开时显示通知的主要内容,如果未能解决你的问题,请参考以下文章

Android 在没有可展开视图的情况下在状态栏中显示通知

如何在多个通知单击时显示适当的消息

隐藏导航栏时显示状态栏

如何在适用于 Android 和 cordova 的项目中单击通知时显示特定页面?

不录制时显示红色状态栏,后台应用程序

状态栏处于“通话中”模式时显示模式对话框后导航栏位置错误