我已经创建了一个应用程序。我想在用户退出应用程序或应用程序在后台运行一段时间后自动从应用程序注销。我创建了计时器,但它不起作用,因为当应用程序进入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