Отправить пользовательское уведомление о базе данных Firebase на основе данных, полученных из базы данных Firebase - PullRequest
0 голосов
/ 26 сентября 2019

У меня настроена база данных firebase, в которой хранится необходимая информация, которая мне нужна.Это работает правильно.Затем я вызываю мой класс «FirebaseDatabaseHelper» и соответствующий ему метод «readUser» согласно приведенному ниже коду в методе «onMessageReceived».

Мой код для чтения из базы данных работает нормально, если я использую его на странице входа в систему для чтения списка пользователей, однако точно такой же метод, кажется, вообще не вызывается, если я пытаюсь его использоватьв "onMessageRectained", который вызывается, когда я отправляю тестовое уведомление через консоль Firebase.Разве невозможно читать из базы данных таким образом?

FireBaseNotifications.java :

   public class FireBaseNotifications extends FirebaseMessagingService {

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    // ...
    // TODO(developer): Handle FCM messages here.
    Log.d(TAG, "From: " + remoteMessage.getFrom());

    // Check if message contains a data payload.
    if (remoteMessage.getData().size() > 0) {
        Log.d(TAG, "Message data payload: " + remoteMessage.getData());

    }

    // Check if message contains a notification payload.
    if (remoteMessage.getNotification() != null) {
        Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
    }

    new FirebaseDatabaseHelper().readUser(new FirebaseDatabaseHelper.DataStatus() {
        @Override
        public void dataIsLoaded(List<User> users, List<String> keys) {  //<--- this works fine if used in my login page
            Log.d(TAG, "Retrieved the following keys from database: " + keys);
        }
    });

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...