【发布时间】:2020-06-24 13:46:22
【问题描述】:
所以我遇到的问题是带有待处理意图的通知没有共享正确的意图额外内容,这反过来又影响了我的应用。
我们的目标是能够创建多个分组通知以及它们的自己的待处理意图。我了解并非所有通知都需要意图,但在我的情况下,单击的每个通知都会指向应用程序中的特定区域。
我已尝试更改意图标志,但仍然遇到同样的问题。
通知创建:
PendingIntent dismissIntent = createDismissIntent(uniqueID, notification.getGroup());
notificationBuilder.setSmallIcon(smallIcon)
.setContentTitle(notification.getTitle())
.setContentText(notification.getMessage())
//.setContentIntent(contentIntent)
.setDeleteIntent(dismissIntent)
.setColor(context.getColor(R.color.notificationColor))
.setVisibility(visibility)
.setPriority(priority)
.setStyle(style)
.setAutoCancel(true)
.setGroup(notification.getGroup())
.setDefaults(Notification.DEFAULT_SOUND|Notification.DEFAULT_LIGHTS|Notification.DEFAULT_VIBRATE);
notificationManager.notify(uniqueID, notificationBuilder.build());
方法
private PendingIntent createDismissIntent(int uniqueID, String group) {
Intent intent = new Intent(context, ActionReceiver.class).setAction(Constants.NotificationDismissIntent);
intent.putExtra("id", uniqueID);
intent.putExtra("group", group);
return PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
接收者
int uniqueID = intent.getIntExtra("id", 0);
String group = intent.getStringExtra("group");
if (intent.getAction().matches(Constants.NotificationDismissIntent)) {
try {
if (!intent.getBooleanExtra("isSummary", false)) {
boolean success = NotificationStorage.getInstance(context).removeNotification(group, uniqueID);
if (!success)
Log.d(FIREBASE_MESSAGING_TAG, "Failed to remove notification from storage");
}
}
}
谢谢:)
【问题讨论】:
标签: android firebase push-notification notifications firebase-cloud-messaging