2014-02-27 89 views
0

後在我的應用我有,當應用程序啓動時打開一個閃屏。 1秒鐘後,登錄活動打開。但我有一個問題,當按下HOME鍵的應用程序啓動後的權利。如果我的HOME鍵點擊,只有當閃屏是可見的,在應用程序關閉,但幾秒鐘(近似2秒)後,登錄活動開啓,即使應用程序是不可見的了(它是活的只是在後面堆棧)。次活動打開HOME按鈕被按下

這裏是我開始登錄活動:

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(); 

我怎麼能解決這個問題?如果有人能幫助,我會非常感激。

回答

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?

+0

非常感謝你。你的鏈接幫了我很多。現在它似乎工作正常。再次感謝 :) – Laura