Мое приложение имеет несколько функций, одна из которых - аварийные сигналы, при перезагрузке все аварийные сигналы отменяются. Я пытаюсь сбросить их при перезагрузке, но у меня проблема с получением данных из класса IntentService
следующим образом.
Моя справка и структура базы данных
rootRef = FirebaseDatabase.getInstance().getReference();
userRef = rootRef.child(getString(R.string.db_user));
userDataRef = userRef.child(firebaseUser.getUid());
alarmRef = userDataRef.child(getString(R.string.db_alarm));
// ...
reminderRef = userDataRef.child(getString(R.string.db_reminder));
Мой IntentService
класс :
class BootService extends IntentService {
public BootService() {
super("BootService");
}
@Override
protected void onHandleIntent(@Nullable Intent intent) {
FirebaseApp.initializeApp(this);
DatabaseReference alarmsRef = FirebaseDatabase.getInstance().getReference()
.child(getString(R.string.db_user))
.child()
// How can I retrieve userId here if user is not logged-in yet?
// Application may have many accounts in one phone
// I need to retrieve them all not only one
.child(getString(R.string.db_alarm));
}
}
Первая проблема - это userId
, упомянутая в комментариях, вторая - будет ли создание ссылок фактически вызывать событие onChildAdded?
Любые лучшие подходы для реализации этого более чем приветствуются, заранее спасибо