gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:19 26 4
gpt4 key购买 nike

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

举个我想做的例子,下面是当您收到消息时 Facebook Messenger 在屏幕上的显示方式。

Facebook on-screen notification

每当我发送通知时,它所做的只是在状态栏中显示小图标 - 即使我将优先级设置为 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);

最佳答案

综合考虑,使用 NotificationCompat.Builder 而不是 Notification.Builder 是一个非常的好主意,更不用说创建一个 手动通知。它为您提供了良好的向后兼容性和优雅的降级(一直回到 API 级别 4,也称为“gadzooks,那是旧的”)。据我所知,当与 NotificationManagerCompat 一起使用时,这是让 Android Wear 的一些东西继续运行的唯一方法。而且,在这种情况下,它似乎更喜欢更新的 Android 5.0+ 功能。

在这种情况下,在 NotificationCompat.Builder 上使用 setPriority(NotificationCompat.PRIORITY_HIGH),与 NotificationManagerCompat 一起使用,会给您提示- Android 5.0+ 上的向上通知。

关于android - 如何在屏幕上显示 Android 通知以及状态栏图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com