Я использую FCM для push-уведомлений и отправляю данные из уведомления в действие, которое я открываю.
Код для уведомления о строительстве:
private void handleNotification(RemoteMessage remoteMessage) {
String notTitle = remoteMessage.getNotification().getTitle();
String notBody = remoteMessage.getNotification().getBody();
Intent resultIntent = new Intent(this, HomeActivity.class);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
resultIntent.putExtra("pushNotClick", "yes");
resultIntent.putExtra("pushNotHead", ""+notTitle);
PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);
mBuilder.setSmallIcon(R.drawable.fb_icon);
mBuilder.setColor(getResources().getColor(R.color.colorPrimary));
mBuilder.setContentTitle(notBody)
.setContentText(notTitle)
.setAutoCancel(true)
.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "NOTIFICATION_CHANNEL_NAME", importance);
notificationChannel.enableLights(true);
assert mNotificationManager != null;
mBuilder.setSmallIcon(R.mipmap.icon_not);
mBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
mNotificationManager.createNotificationChannel(notificationChannel);
}
assert mNotificationManager != null;
mNotificationManager.notify((int) System.currentTimeMillis() /* Request Code */, mBuilder.build());
}
И я получаю такие дополнительные намерения в своей деятельности:
String notState = getIntent().getStringExtra("pushNotClick");
String notHead = getIntent().getStringExtra("pushNotHead");
Но проблема в том, что каждый раз, когда Intent Extras в Activity равны нулю, я проверил все возможные причины, которые я нашел здесь, в сообществе, но каждый раз ответ один и тот же.
Я пробовал указанные ниже ссылки
Дополнительное намерение всегда равно нулю
Android Notification PendingIntent Extras null
Всегда получать нулевые данные из намерения уведомления Android
Я не уверен, где я делаю не так.