单击 FCM 通知时转到不同的活动
Go to different activities when the FCM notification is clicked
伙计们,我正在使用 FCM 向我的 android 应用程序发送通知,它工作正常,但是当我点击通知时,它会将我发送到我在此处设置的特定 activity:
@Override
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
Intent intent = new Intent(this, activity_togo_to.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "101")
.setSmallIcon(R.drawable.ic_add)
.setContentTitle(remoteMessage.getNotification().getTitle())
.setContentText(remoteMessage.getNotification().getBody())
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
// Set the intent that will fire when the user taps the notification
.setContentIntent(pendingIntent)
.setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
// notificationId is a unique int for each notification that you must define
notificationManager.notify(1, builder.build());
}
我的问题是我不想在单击通知时转到相同的 activity。
所以我的通知系统是这样工作的:
我在 MySQL 数据库 A 和 B 中有两个 table:
当一行添加到 table A 时 --> 推送通知,标题为:“有一个新项目 A”
当一行添加到 table B 时 --> 推送标题为:“有一个新项目 B”的通知
当我点击通知时:
标题为:“有一个新项目 A”--> 转到 activity A
标题为:“有一个新项目 B”--> 转到 activity B
我怎样才能实现这些家伙,我真的需要它。
感谢任何帮助。
如果不可能,请告诉我。
您的通知的未决意图必须是 activity A 或 B。您可以将您的通知的参数从您的远程服务器传递到 remoteMessage.getData()。
例如:
with(remoteMessage.data) {
// Extract data
type = get(PARAM_TYPE)
variation = get(PARAM_VARIATION)
priority = getNotificationPriorityFromString(get(PARAM_PRIORITY))
title = get(PARAM_TITLE)
message = get(PARAM_MESSAGE)
}
伙计们,我正在使用 FCM 向我的 android 应用程序发送通知,它工作正常,但是当我点击通知时,它会将我发送到我在此处设置的特定 activity:
@Override
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
Intent intent = new Intent(this, activity_togo_to.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "101")
.setSmallIcon(R.drawable.ic_add)
.setContentTitle(remoteMessage.getNotification().getTitle())
.setContentText(remoteMessage.getNotification().getBody())
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
// Set the intent that will fire when the user taps the notification
.setContentIntent(pendingIntent)
.setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
// notificationId is a unique int for each notification that you must define
notificationManager.notify(1, builder.build());
}
我的问题是我不想在单击通知时转到相同的 activity。
所以我的通知系统是这样工作的:
我在 MySQL 数据库 A 和 B 中有两个 table:
当一行添加到 table A 时 --> 推送通知,标题为:“有一个新项目 A”
当一行添加到 table B 时 --> 推送标题为:“有一个新项目 B”的通知
当我点击通知时:
标题为:“有一个新项目 A”--> 转到 activity A
标题为:“有一个新项目 B”--> 转到 activity B
我怎样才能实现这些家伙,我真的需要它。
感谢任何帮助。 如果不可能,请告诉我。
您的通知的未决意图必须是 activity A 或 B。您可以将您的通知的参数从您的远程服务器传递到 remoteMessage.getData()。
例如:
with(remoteMessage.data) {
// Extract data
type = get(PARAM_TYPE)
variation = get(PARAM_VARIATION)
priority = getNotificationPriorityFromString(get(PARAM_PRIORITY))
title = get(PARAM_TITLE)
message = get(PARAM_MESSAGE)
}