У меня настроена база данных 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);
}
});
}