仅在某些情况下如何刷新活动?

时间:2019-11-20 13:59:26

标签: android android-lifecycle

我的问题是,我只想在以下情况下自动重新加载(服务器请求,刷新等)我当前的活动:

1 .- 。应用程序进入后台(单击“ RECENT_APPS”或“ HOME”按钮),然后再次打开(因为它现在将在后台保持活动状态,当我再次启动它时,它将只是自动转到前台,而不是重新启动。)

OR

2 .- 。该应用位于前台,用户锁定屏幕,稍后再解锁。

我尝试过这种方法:

Boolean refreshScreenOnResume=false;

onStop(){
    refreshScreenOnResume=true;
}

onResume(){
    if(refreshScreenOnResume){
        refreshScreen();
        refreshScreenOnResume=false;
    }   
}

唯一的问题是,即使开始新的活动,我也会在onStop()中将标志设置为TRUE。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用onRestart(),它是“活动生命周期”方法。

onRestart在您的活动停止后被调用,然后再次开始。 始终跟随onStart()

在您的情况下:

科特林

    override fun onRestart() {
        super.onRestart()
        refreshScreen()
    }

Java

    @Override
    protected void onRestart() {
        super.onRestart();
        refreshScreen();
    }
相关问题