Ich habe Probleme mit FireBase-Push-Benachrichtigungen. Wenn meine App im Hintergrund läuft, kommen Benachrichtigungen, aber wenn meine App im Vordergrund ist, erhalte ich keine Benachrichtigungen, aber in der Konsole wird diese Benachrichtigung angezeigt, das bedeutet, dass die Benachrichtigung hier ist, aber nicht in der Benachrichtigungsleiste angezeigt wird . Kannst du mir helfen?Firebase-Benachrichtigungen im Vordergrund
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d("OnMessage", "Received");
super.onMessageReceived(remoteMessage);
Log.d(TAG, "From " + remoteMessage.getFrom());
Log.d(TAG, "Body " + remoteMessage.getNotification().getBody());
String aa=remoteMessage.toString();
Intent intent=new Intent(MyFirebaseMessagingService.this, MainActivity.class);
intent.putExtra("msg", aa);
sendNotification(remoteMessage);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setContentText(remoteMessage.getNotification().getBody());
// remoteMessage.getNotification().getBody();
}
private void sendNotification(RemoteMessage remoteMessage) {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setContentText(remoteMessage.getNotification().getBody())
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}
Ja, das war ein Problem, danke Kumpel. Einfach eine weitere Frage, wer setContentTitle() setzen soll, wenn mir mein Backend eine Benachrichtigung schickt und in json den Titel tippt? –
Benachrichtigungen, die über eine Benachrichtigungsnachricht (JSON) angezeigt werden, sind völlig unabhängig von der Erstellung und Anzeige Ihrer Benachrichtigung in Code, wie Sie es hier tun. Wenn Sie eine Benachrichtigung verwenden und sich Ihre App im Hintergrund befindet, wird sie mit dem angegebenen JSON angezeigt. Andernfalls erhalten Sie den Rückruf onMessageReceived und es liegt an Ihrem Code, eine Benachrichtigung anzuzeigen, wenn dies der Fall ist. –