gpt4 book ai didi

java - 使用 Firebase 实时数据库在重新启动时重置警报

转载 作者:行者123 更新时间:2023-12-02 11:16:52 25 4
gpt4 key购买 nike

我的应用程序有一些功能,其中之一是警报,重新启动后所有警报都会被取消。我试图在重新启动时重置它们,但从 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事件吗?

非常欢迎任何更好的方法来实现这一点,提前致谢

最佳答案

How can I retrieve userId here if user is not logged-in yet?

你不能。如果用户尚未登录,则意味着您不知道哪个用户将登录您的应用以使用该特定 ID。

Will creating the references actually trigger the onChildAdded event?

不,仅创建引用,并不意味着会触发 onChildAdded() 方法。仅当您在该引用上附加监听器时才会触发此方法。

关于java - 使用 Firebase 实时数据库在重新启动时重置警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50205528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com