2011-08-28 134 views
0

如何區分應用程序何時最小化或新活動開始?應用程序上的密碼恢復

我想實施一個密碼,就像在保管箱中的應用程序,其中當應用程序最小化時,它會詢問密碼,如果應用程序恢復。這是我的想法。

public static Boolean isMinimized = false; 
@Override 
public void onResume() { 
     super.onResume(); 
     if(isMinimized) 
     { 
      isMinimized = false; 
      startActivity(new Intent(this, Login.class)); 
     } 
} 

@Override 
public void onPause() { 
     super.onPause(); 
     isMinimized = true; 
     Toast.makeText(this, "Application Minimized", Toast.LENGTH_LONG).show(); 
} 
當我運行一個新的活動我設置isMinimized爲false,以便登錄不會彈出

,但是當我最小化它,並返回到它,因爲它再次暫停在onPause總是被觸發。

通過使用getParent()我怎樣才能動態地改變靜態變量。

注:我不能用鑄件,因爲它不是靜態誰把這種活動

我使用的IM 100%肯定的SystemPreferences是父改變isMinimized的價值。

SystemPreferences.isMinimized = false; 

然而,有沒有辦法投的getParent()這樣我就可以使用類似

((SystemPreferences) getParent()).isMinimized = false; 

請注意:父是動態的。

回答

0

每個活動通過特定方法運行移動到後臺時,恢復等

所以,如果你在你知道的活動你的onResume()方法的時候,這個活動只是回到活躍並處於頂峯。 (根據Android的活動週期:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

編輯:如果我正確地理解了你,你可以「保存」你設置的變量,例如保存它作爲首選項。

+0

我更新了我的問題 – Joe