Hier sind meine Fälle für die Benachrichtigung: Wenn Mitteilung ankommen, App könnte Vordergrund sein, Hintergrund, oder geschlossenAndroid Push-Benachrichtigung mit FCM
1. Für den Vordergrund: Wenn Benutzer tippen Sie auf Benachrichtigung, sollte app zeigen Hauptaktivität.
2. Für Hintergrund: Wenn Benutzer tippen Sie auf Benachrichtigung, App nach vorne bringen sollte und Haupttätigkeit zeigen sollte
3. Wenn App geschlossen wird: Wenn Benutzer tippen Sie auf Benachrichtigung, App sollte Öffnen und sollte Hauptaktivität anzeigen.
Wenn ich Absicht mit Intent.FLAG_ACTIVITY_SINGLE_TOP
& PendingIntent mit PendingIntent.FLAG_ONE_SHOT
festlege. Es funktioniert wie erwartet, aber wenn der Benutzer auf die Benachrichtigung klickt, ruft er die Methode Create der Hauptaktivität nicht auf.
private void showNotification() {
Intent intent = new Intent(this, DashboardActivity.class);
intent.putExtra(AppConstants.SCREEN, screen);
intent.putExtra(AppConstants.USER_ID, user_id);
intent.putExtra(AppConstants.TABLE_ID, table_id);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(getNotificationIcon())
.setContentTitle(getResources().getString(R.string.app_name))
.setContentText(message)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
Wenn Sie Above Code betrachten, dann muss es eine Methode aus MainActivity(DashboardActivity)
, wenn der Benutzer tippen Sie auf Benachrichtigung ausgeführt werden.
Hinweise: Wenn App Vordergrund/Hintergrund ist, sollte sie nicht geschlossen und neu geöffnet werden. Es muss in der bestehenden App aktualisiert werden.
Ich hoffe, Sie verstehen meine Situation. Danke im Voraus.