我必須在應用程序中根據會話維護統計信息。問題在於,即使用戶使用後退按鈕退出應用程序,也不會關閉應用程序(可能是因爲我在後臺運行服務)。Android應用程序會話管理
我想重置我的會話信息,如果該應用程序在後臺說X分鐘(從比如說一個電話或報警相區別)。有沒有辦法做到這一點?
也許某種類型的廣播接收機來檢測事件...?
讓我試着解釋一下這個場景。我的應用程序只有在認證後才能訪問(輸入密碼)。現在一旦用戶進入這個部分,我不希望每次活動暫停時都要求用戶進行認證。但是,說用戶按下主頁鍵並在說20分鐘後返回到應用程序,我想要求認證。
編輯:我有多個活動的工作,所以我不能檢測應用程序將背景只需在onPause()
設置一個標誌。
我可以使用Flurry/Google Analytics,但您看到我想重置的信息位於應用程序內部,與報告/跟蹤無關。 –
我看到你更新了這個問題。如果您可以準確地保存記錄並以正確的方式檢測,onPause應該可以正常工作。爲了保持簡短,請使用SharedPreference保留上次活動時間並刷新它。如果你不能設置onPause(),那很好,只需設置onResume()來檢查那個時間。這總是一個有效的例子,因爲它必須被買到前臺。如果您真的不信任這種方式,請嘗試使用AlarmManager,並在每次進行交互並使未決事件使會話無效時刷新警報。有很多方法可以做到這一點,但使用偏好非常簡單。 – Edison
請記住,如果您正在進行多項活動,則無關緊要。如果它們是在同一個進程上運行的同一個應用程序,通常會有一個清晰的堆棧。 – Edison