2012-10-19 50 views
0

我想要在應用程序打開時彈出通知。但是,一旦用戶被解僱,即使他們回到同一活動,我也不希望它再次回來。但是,當應用程序退出並且稍後再回來時,我想要彈出相同的對話框通知(提示用戶登錄)。Android設置爲True或False - 在應用程序退出時清除

所以基本上...

boolean b = true; 

if (b == true) { 
    // show dialog 
    b = false; 
} 

我只是想變種b鍵保存退出狀態,但清晰。

+0

android沒有「應用程序退出」的概念,只有android生命週期,所以你會有更具體地說明你想要的行爲。 –

+0

是的我知道,錯誤的措辭... onDestroy我猜? – KickingLettuce

+1

我懷疑這就是你想要的。你能描述一下這種行爲嗎?例如,你的意思是當用戶離開你的應用程序時,如同返回到主屏幕一樣,然後返回到你的應用程序,應該重置狀態? –

回答

1

我不確定如果您不希望該值在您的應用程序關閉時持續存在,那麼使用sharedpreference是有一定意義的,因爲這是他們的觀點。

也許只是在您的應用程序類中使用布爾值會更好?它將持續到應用程序完全關閉。

+0

我有一個應用程序類來處理這個。我會嘗試的! – KickingLettuce

+0

應用程序類將在理論上永遠生活。用戶可以在幾周後運行應用程序,並且應用程序類中的狀態仍將被設置。 –

1

android沒有「應用程序退出」的概念,只有android生命週期,所以你必須對你想要的行爲更具體。例如,你的意思是每當用戶導致應用程序中的任何活動暫停並且應用程序中沒有任何活動恢復時?

如果您只有一個活動,那麼您可以在活動中保留一個狀態變量,將其設置爲false時暫停,恢復時爲true。

如果你有> 1項活動,記住你的任何活動在前臺的時間不再是痛苦的。例如,如果每當活動暫停時設置foreground = false,並且每當恢復時設置foreground = true,然後檢查時間容差。例如,如果暫停和恢復之間的時間大於某個閾值,則假定您從背景回來。

0

您不想使用SharedPrefs,除非他們使用按鈕或其他偵聽器註銷應用程序,否則無法確定要更改它。你可以把它放在onDestroy()重置變量或onPause()更好,如果你想確保它得到重置

相關問題