第二个活动打开按下HOME按钮后

时间:2014-02-27 14:11:48

标签: android android-activity android-homebutton

在我的应用程序中,我有一个启动应用程序时打开的SplashScreen。 1秒后登录活动打开。但是在应用程序启动后立即按下HOME按钮时出现问题。如果我点击HOME按钮,只有当启动画面可见时,应用程序才会关闭,但几秒钟后(aprox.2秒),即使应用程序不再可见,登录活动也会打开(它仅在后面显示)堆)。

以下是我开始登录活动的方法:

Handler handler = new Handler();
        handler.postDelayed(new Runnable() {

            public void run() {
                // Show login screen
                Utility.startLoginActivity(SplashScreenActivity.this);

            }
        }, 1000);

这是startLoginActivity()方法:

 Intent intent = new Intent(activity, LoginActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 activity.startActivity(intent);
 // Finish the calling activity
 activity.finish();

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您应该添加检查启动活动是否可见:

Handler handler = new Handler();
    handler.postDelayed(new Runnable() {

        public void run() {
            if (SplashActivity.isVisible()) {
                // Show login screen
                Utility.startLoginActivity(SplashScreenActivity.this);
            }
        }
    }, 1000);

SplashActivity.isVisible()方法可以按照此处所述实现:How to check if activity is in foreground or in visible background?