2010-12-01 61 views
3

我希望用戶每次嘗試輸入應用程序時都要輸入密碼。也就是說,用戶必須輸入密碼,每次應用程序來自於背景前景,按啓動器圖標是它長按home鍵如何在Android中密碼保護應用程序

我排序的實現第一部分是因爲啓動器的意圖被解僱,我在該活動的onRestart中得到一個回調。

但是通過長按主鍵並啓動不對onRestart提供回調。

此外,如果用戶通過按下通知欄中的通知來啓動應用程序。我如何區分應用程序是否原本在後臺或前地面用戶點擊的通知

+0

「onRestart」 - 你的意思是onResume()? – 2010-12-01 10:41:50

+2

by onRestart我的意思是onRestart,而不是onResume,因爲onResume最終會在onStart後調用 – pankajagarwal 2010-12-01 11:06:25

回答

1

之前在你onResume電話,設置loginCounter + = 1,在你的 - = 1

如果loginCounter == 0 =>顯示登錄對話框。

在通知欄中,您設置了一個Intent以調用Activity,對嗎?只需在那裏添加一個參數「isCalledByNotificationBar」作爲布爾值。

+1

在旁註:您無法覆蓋HomeKey的行爲。只有修改Android源代碼並將其部署到目標設備上(不太可能)。 – 2010-12-01 10:52:40

1

如果onResume不起作用,onWindowFocusChanged(boolean)怎麼樣?

1

也許你應該做的是重新進入應用程序,看看它自從上次暫停應用程序的任何活動時更新的時間戳以來是否少於30(?)秒。如果它少了,不要求輸入密碼。認爲這個短時間窗口可能會平滑過渡到一些你不想註銷的過渡。