活动生命周期。用户始终离线

时间:2018-04-22 08:58:42

标签: java android

当应用程序运行前台时,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。为什么总是假的?

1 个答案:

答案 0 :(得分:1)

  

当应用暂停时(假设通过按主页按钮最小化),应触发onPause方法,当您再次打开它时,应触发onPostResume方法

您的代码应如下所示:

@Override
protected void onPause()
{
    super.onPause();

    // set false

}



@Override
protected void onPostResume()
{
    super.onPostResume();

    // set true

}

希望它可以帮到你