当前位置: 首页 > 知识库问答 >
问题:

如何在屏幕上显示Android通知以及状态栏图标?

宰父存
2023-03-14

我觉得这应该是微不足道的,但我似乎不能让通知显示在手机的屏幕上-它只显示在状态栏在顶部。

作为我想做的一个例子,下面是Facebook Messenger在你收到一条消息时显示在屏幕上的方式。

每当我发送通知时,它所做的只是显示状态栏中的小图标--即使我将优先级设置为priority_max。是否有另一个设置,我需要做使它显示在屏幕上,而不只是状态栏?

通知显示代码:

PendingIntent contentIntent = PendingIntent.getActivity(context, nextId++, intent, PendingIntent.FLAG_CANCEL_CURRENT);

Notification.Builder builder = new Notification.Builder(context)
       .setContentTitle(title)
       .setContentText(description)
       .setContentIntent(contentIntent)
       .setSmallIcon(R.drawable.ic_stat_notification)
       .setLargeIcon(largeIcon)
       .setPriority(Notification.PRIORITY_DEFAULT)
       .setAutoCancel(true)
       .setDefaults(Notification.DEFAULT_ALL);

if (android.os.Build.VERSION.SDK_INT >= 21) {
    builder.setColor(context.getResources().getColor(R.color.orange_500))
           .setVisibility(Notification.VISIBILITY_PUBLIC);
}

Notification notification = builder.build();
notificationManager.notify(id, notification);

共有1个答案

陶腾
2023-03-14

综合考虑,使用notificationcompat.builder而不是notification.builder确实是个好主意,更不用说手动创建notification了。它为您提供了良好的向下兼容和优雅的降级(一直回到API Level4,也就是所谓的“gadzooks,那是旧的”)。另外,当与notificationmanagercompat配合使用时,这是使某些Android Wear功能正常运行的唯一方法。而且,在这种情况下,它似乎更喜欢更新的Android5.0+功能。

在这种情况下,notificationcompat.builder上的setpriority(notificationcompat.priority_high)notificationmanagercompat一起使用,将在Android5.0+上提供提示通知。

 类似资料:
  • 在我的应用程序中我写了一个简单的通知函数,该方法只在状态栏上显示图标,我也想显示通知布局,但不是自动显示的,我已经下拉android状态栏查看, 看来这是Android6及以上版本的问题

  • 本文向大家介绍Android使用Notification在状态栏上显示通知,包括了Android使用Notification在状态栏上显示通知的使用技巧和注意事项,需要的朋友参考一下 在使用手机时,当有未接来电或者是新短消息时,手机会给出相应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。Android也提供了用于处理此类信息的类,他们是Notification和NotificationM

  • 我在某处读到,我们可以使用来隐藏状态栏中的图标,使其不被通知。但在android 8及以上版本中似乎行不通。 所以我使用了(根据文档将图标隐藏在状态栏中),但这对我并不起作用。 但很多应用程序在状态栏中不显示任何图标,而在通知抽屉中显示通知。

  • 在我的应用程序中,我需要向用户显示通知。下面的代码片段通过在Android设备标题栏中显示图标和内容标题而发挥了很好的作用。 当我试图构建用于部署应用程序的包时,我得到了以下错误: 我需要在新的代码段中设置什么才能在android设备状态栏中显示内容标题?

  • 我如何在运行Android5.0的手机中自定义状态栏上的通知图标。它总是作为一个白色的盒子(图片附上)。

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