当应用程序运行前台时,online将设置为true,当应用程序处于后台时,online将设置为false。我在所有活动中都有这个代码:
@Override
protected void onStart() {
super.onStart();
if (mAuth.getCurrentUser() != null) {
mUserDatabase.child("online").setValue("true");
}
}
@Override
protected void onStop() {
super.onStop();
if (mAuth.getCurrentUser() != null) {
mUserDatabase.child("online").setValue("false");
}
}
问题是,当我尝试移动到另一个活动时,在线总是设置为false。为什么总是假的?
答案 0 :(得分:1)
当应用暂停时(假设通过按主页按钮最小化),应触发
onPause
方法,当您再次打开它时,应触发onPostResume
方法
您的代码应如下所示:
@Override
protected void onPause()
{
super.onPause();
// set false
}
@Override
protected void onPostResume()
{
super.onPostResume();
// set true
}
希望它可以帮到你