Android:如果用户离开当前活动,如何暂停下一个活动的启动?

Android:如果用户离开当前活动,如何暂停下一个活动的启动?,android,splash-screen,Android,Splash Screen,我已经为我的应用程序创建了一个启动屏幕。5秒后,它使用以下代码开始下一个活动。现在我的问题是,如果用户在5秒结束前离开当前活动,那么在5秒结束后,下一个活动(在我的例子中是InfoActivity)就会出现,即使我在另一个应用程序或其他任何地方 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.launch);

我已经为我的应用程序创建了一个启动屏幕。5秒后,它使用以下代码开始下一个活动。现在我的问题是,如果用户在5秒结束前离开当前活动,那么在5秒结束后,下一个活动(在我的例子中是InfoActivity)就会出现,即使我在另一个应用程序或其他任何地方

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.launch);
    new Handler().postDelayed(new Runnable() {

        public void run() {
            final Intent mainIntent = new Intent(LaunchActivity.this, InfoActivity.class);
            LaunchActivity.this.startActivity(mainIntent);
            LaunchActivity.this.finish();
        }
    }, 5000);
}

您可以使用一个变量

shouldNavigate=true;
在原始活动的onDestroy()方法中取消设置

onDestroy() {
    shouldNavigate=false;
    [...]
}
然后在postDelayed-run()-方法中检查

if(shouldNavigate) {...}

您可以使用一个变量

shouldNavigate=true;
在原始活动的onDestroy()方法中取消设置

onDestroy() {
    shouldNavigate=false;
    [...]
}
然后在postDelayed-run()-方法中检查

if(shouldNavigate) {...}

这个程序对我很有效

flag=false


这个程序对我很有效

flag=false


正确处理该活动的生命周期。这应该可以完成任务。正确处理该活动的生命周期。这应该可以完成任务。