Я знаю, что это часто задаваемый вопрос, и я провел весь день, пытаясь найти разные решения, которые, похоже, не работают.
Я пытаюсь сохранить логическое значение receiveNotifications
в SharedPreferences, но когдаЯ отправляю уведомление, оно все еще приходит.Когда я проверяю, установлено ли логическое значение в задании, в котором я его установил, он говорит, что значение должно быть таким, каким оно должно быть, но когда я вызываю это в моем Firebase
MessagingService, оно все же позволяет уведомлению проходить.
Я впервые использую их, поэтому, если вы видите очевидный ответ, вот почему.
Сохранение логического значения:
// shared preferences
notificationsPref = mContext.getSharedPreferences("notifications", MODE_PRIVATE);
SharedPreferences.Editor editor = notificationsPref.edit();
editor.putBoolean("receiveNotifications", false);
editor.apply();
Проверка, еслиБулево значение установлено:
// check if they want to receive notifications
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("notifications", MODE_PRIVATE);
Boolean areNotificationsAllowed = sharedPreferences.getBoolean("receiveNotifications", true);
if (areNotificationsAllowed){
Toast.makeText(this, "Send Notification", Toast.LENGTH_SHORT).show();
sendNotification(contentTitle, messageBody);
}