gpt4 book ai didi

android - 如何为 API 级别 16 以上的所有设备发送本地通知?

转载 作者:搜寻专家 更新时间:2023-11-01 09:20:48 26 4
gpt4 key购买 nike

我能够从 firebase 向设备发送通知。但我需要在本地向同一设备发送通知。我使用的是 oreo 移动版。我尝试使用此代码:

 NotificationCompat.Builder b = new NotificationCompat.Builder(this,"150");

b.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.mipmap.ic_launcher)
.setTicker("Hearty365")
.setContentTitle("Default notification")
.setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_SOUND)
.setContentInfo("Info");


NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, b.build());

最佳答案

Android-O Includes Notification Channels 

    NotificationManager notificationManager = 
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int notifyId = 1;
String channelId = "some_channel_id";

Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("Some Message")
.setContentText("You've received new messages!")
.setSmallIcon(R.drawable.ic_notification)
.setChannel(channelId)
.build();

notificationManager.notify(id, notification);

Notification Channels

通知 channel 使我们能够将我们的应用程序发送的通知分组到可管理的组中。一旦我们的通知进入这些 channel ,我们就不再对其功能进行输入 —— 所以由用户来管理这些 channel 。当涉及到更改我们的应用程序通知的设置时,用户将看到这些选项:

从左边开始,您可以在第一个屏幕中看到我们应用程序的通知设置显示了我们应用程序的通知设置。用户可以从这里:

阻止我们应用程序的所有通知 channel 。这意味着来 self 们应用程序的通知永远不会显示在用户设备上如果支持,用户可以声明我们的应用程序通知是否应在 Home 应用程序上显示为徽章我们的应用程序存在的通知类别。从这里用户可以切换这些以启用或禁用一旦用户从第一个屏幕选择通知类别,就可以访问下一个屏幕(中间)。用户可以从这里:

阻止来 self 们应用程序的来自该 channel 的所有通知如果支持,在 Home 应用程序中显示来自此 channel 的通知并且如最终截图所示,用户还可以设置来自该 channel 的通知的重要性。此处选择的选项将说明他们希望在收到通知时如何得到提示。

我们还可以将通知 channel 分组到单独的组中。这样我们就可以在多种应用程序模式下拥有相同的通知 channel 。

例如,我的应用程序可能支持个人和企业模式,或 child 和 parent 模式 —— 这使我们能够提供跨多个组管理通知设置的选项。

这些显示在与我们的通知 channel 相同的位置,只是被分成相应的组。

在旧版本的 Android(O 之前)上,这些新功能将被完全忽略,因此我们不必担心当前的实现会中断。

现在我们对什么是通知 channel 有了更多的了解,我认为是时候看看如何将它们实现到我们的应用程序中了!

Exploring Android O: Notification Channels

关于android - 如何为 API 级别 16 以上的所有设备发送本地通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55811119/

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