gpt4 book ai didi

push-notification - 通知分组在 Android 8.1 中不起作用

转载 作者:行者123 更新时间:2023-12-04 07:48:09 27 4
gpt4 key购买 nike

我正在使用 FCM 在 8.1 版本的 Android 设备上发送通知。
我正在尝试实现通知分组,我已经实现了。

每当第一个通知在状态栏中并且第二个通知到达时,第一个通知就会消失。从病房的第二个通知开始,所有通知都按预期显示在组中。

如何解决?

在下面发布代码截图。

if ("FirstTime".equals(new SharedPrefsOperations(this).getPreferencesData("ActiveNotifs"))) {

// I AM EXECUTING THIS ONLY AT FIRST TIME , WHEN THE FIRST NOTIFICATION ARRIVES.

String tempData = new SharedPrefsOperations(this).getPreferencesData("ActiveNotifs");

Notification notification = new NotificationCompat.Builder(this, "MYAPP")
.setSmallIcon(R.mipmap.ic_static_notif)
.setContentTitle(content.getTitle())
.setContentText(tempMsg)
.setAutoCancel(true)
.setContentIntent(pendingIntent)
.setGroup(notifGroup)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setChannelId(channel_id)
.setStyle(inboxStyle)
.setGroupSummary(true)
.build();

notificationManager.notify(id, notification);
new SharedPrefsOperations(this).storePreferencesData("ActiveNotifs", "1");

} else {
// I AM EXECUTING THIS FROM SECOND NOTIFICATION ONWARDS
String tempData = new

SharedPrefsOperations(this).getPreferencesData("ActiveNotifs");


Notification notification = new NotificationCompat.Builder(this, "MYAPP")
.setSmallIcon(R.mipmap.ic_static_notif)
.setContentTitle(content.getTitle())
.setContentText(tempMsg)
.setAutoCancel(true)
.setContentIntent(pendingIntent)
.setGroup(notifGroup)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setChannelId(channel_id)
.setStyle(inboxStyle)
.build();

notificationManager.notify(id, notification);
new SharedPrefsOperations(this).storePreferencesData("ActiveNotifs", "1");

}

最佳答案

如果您使用相同的 id通知,它不会工作。您需要使用不同的 id为了那个原因

更新
Android 8.0 (Oreo) 以上的通知 channel 是强制性的。所以像这样添加通知 channel 。这应该在通知之前完成。

 val mNotificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

// Android O requires a Notification Channel.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val name = context.getString(R.string.app_name)
// Create the channel for the notification
val mChannel = NotificationChannel("channel_id_sms", name, NotificationManager.IMPORTANCE_DEFAULT)
// Set the Notification Channel for the Notification Manager.
mNotificationManager.createNotificationChannel(mChannel)
}

关于push-notification - 通知分组在 Android 8.1 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50762832/

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