Когда приложение закрыто, некоторые функции уведомления fcm не работают - PullRequest
0 голосов
/ 26 августа 2018

Я использую fcm для push-уведомлений. Когда приложение открыто и уведомление получено, уведомление работает правильно. но когда приложение закрыто и уведомление получено, некоторые функции, такие как вибрация, звук, добавление, ... не работают.

Intent intent = new Intent(this, FullscreenActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);

    String urlAddress = "https://cafebazaar.ir/";
    Intent intent2 = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
    intent2.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent2.setPackage("com.farsitel.bazaar");
    PendingIntent pendingIntent2 = PendingIntent.getActivity(this, 0, intent2, PendingIntent.FLAG_ONE_SHOT);

    Uri soundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    Notification notificationBuilder = new Notification.Builder(this)
                .setSmallIcon(R.drawable.macanads)
                .setContentTitle(title)
                .setContentText(message)
                .setAutoCancel(true)
                .setColor(Integer.parseInt(color))
                .setSound(soundUri)
                .setVibrate(new long[] { 1000, 1000, 1000})
                .addAction(android.R.drawable.ic_menu_directions,"بروزرسانی",pendingIntent2)
                .setContentIntent(pendingIntent).build();
    }


    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(0, notificationBuilder);
}

1 Ответ

0 голосов
/ 02 сентября 2018

Моя проблема была решена. Вы не должны помещать «уведомление» ключа JSON в свой запрос к API Firebase, а вместо этого использовать «данные»

Чтобы сделать библиотеку FireBase для вызова onMessageReceived () в следующих случаях

Приложение на переднем плане

Приложение на заднем плане

Приложение было убито

вы не должны указывать «уведомление» ключа JSON в своем запросе к API Firebase, новместо этого используйте «данные», см. ниже.

Следующее сообщение не будет вызывать ваш onMessageReceived (), когда ваше приложение находится в фоновом режиме или убито, и вы не можете настроить свое уведомление.

...