【发布时间】:2018-05-06 23:52:15
【问题描述】:
我的应用程序有一些功能,其中之一是警报,重新启动时所有警报都会被取消。我正在尝试在重新启动时重置它们,但我在从 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));
}
}
第一个问题是cmets中提到的userId,第二个是创建引用是否会触发onChildAdded事件?
非常欢迎任何更好的方法来实现这一点,在此先感谢
【问题讨论】:
标签: java android firebase firebase-realtime-database firebase-authentication