我已經創建了一個應用程序。我想在用戶退出應用程序或應用程序在後臺運行一段時間後自動從應用程序註銷。我創建了計時器,但它不起作用,因爲當應用程序進入onStop()
計時器也成爲停止。我應該爲這個問題做些什麼?Android註銷計時器
-2
A
回答
0
使所有的Activities
擴展一個BaseActivity
。然後在這個BaseActivity
聲明pausedMillis paramater:
private long pausedMillis;
之後重寫onStop
方法:
@Override
protected void onStop() {
super.onStop();
pausedMillis = Calendar.getInstance().getTimeInMillis();
}
最終覆蓋onResume
方法:
@Override
public void onResume(){
super.onResume();
try {
long currentMillis = Calendar.getInstance().getTimeInMillis();
if (!(this instanceof LoginActivity) && currentMillis - pausedMillis > 1000 * 60 * 3) {
Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
Toast.makeText(BaseActivity.this, getString(R.string.logout_string), Toast.LENGTH_LONG).show();
}
} catch (Exception e){
e.printStackTrace();
}
}
如果這將註銷您的應用程序超過3分鐘後臺。快樂編碼:)
+0
對我來說很好用 – Malik
0
您需要提供服務才能註銷,並使用AlarmManager以及該服務的PendingIntent在特定時間段後啓動。以下是一個示例代碼:
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent m_intent = new Intent(this, YourService.class);
PendingIntent pi = PendingIntent.getService(this, 2, m_intent, 0);
alarm.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + timePeriod, pi);
將退出代碼放入YourService
。
相關問題
- 1. 註銷計時器php/javascript
- 2. 倒計時註銷申請
- 3. 批量註銷倒計時
- 4. 註銷AppAuth-Android
- 5. Android廣播接收器註冊清單時需要註銷嗎?
- 6. 註銷了倒計時進度條
- 7. Android模式註銷
- 8. 註銷功能android
- 9. 註銷Django當前時區註銷後
- 10. 註銷時註銷所有活動
- 11. 檢索註銷時間而不註銷
- 12. Facebook Android SDK註銷監聽器
- 13. Android瀏覽器註銷ASP.NET網站
- 14. 如何使用$ _SESSION或js計時器自動註銷?
- 15. 在應用程序中自動註銷計時器?
- 16. rails 3設計:在註銷時銷燬localStorage和sessionStorage?
- 17. 嘗試銷燬對象時設計註銷(Rails 3.0.5&Devise 1.1.8)
- 18. 自動註銷在設計
- 19. 設計,無法註銷
- 20. SessionManager超時/註銷
- 21. libspotify:註銷時間
- 22. 瀏覽器關閉時自動註銷
- 23. 當瀏覽器關閉時註銷Magento
- 24. Magento - 當瀏覽器關閉時註銷
- 25. 設計註銷/註銷不能使用Rails 4
- 26. 倒計時計時器android
- 27. Android - 從twitter與twitter4j註銷
- 28. 註銷Android中的Facebook
- 29. Android Facebook註銷崩潰
- 30. 從Android上從Facebook註銷
你試過了什麼? –
我開發了一個庫來照顧這種類型的用例,請隨時看一下 https://github.com/jose96043/TimezOut – joseporto