【问题标题】:Second Activity Opens After the HOME button is pressed按下 HOME 按钮后打开第二个活动
【发布时间】:2014-02-27 14:11:48
【问题描述】:

在我的应用程序中,我有一个启动应用程序时打开的 SplashScreen。 1 秒后,登录活动打开。但是在应用程序启动后立即按下 HOME 按钮时出现问题。如果我点击 HOME 按钮,只有在启动屏幕可见时,应用程序才会关闭,但几秒钟后(大约 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();

我该如何解决这个问题?

【问题讨论】:

    标签: android android-activity android-homebutton


    【解决方案1】:

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

    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?

    【讨论】:

    • 非常感谢。你的链接对我帮助很大。现在它似乎工作正常。再次感谢:)
    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    相关资源
    最近更新 更多