我知道有很多问题,因为在stackoverflow中已经提到了这个问题。其中大多数建议实施onResume
和onPause
来控制应用在进入后台/前台时的行为方式。但在我的情况下,我实际上无法使用该方法。
我的应用程序启动时(或用户登录后)会运行timer
。因此,它不依赖于我的应用中的任何activity
。我想做的是当应用程序转到后台时停止timer
(以节省电源)并在应用程序返回前台时重新启动它。通过实施onResume
和onPause
,当用户在timer
之间切换(因为我在所有activities
中实施)时,将停止并启动activities
,这是不是我想要的。
请以更好的方式提供建议。
答案 0 :(得分:0)
您可以在onPauso()中使用cancel()方法,这样当应用程序处于后台时,您可以停止使用timmer 在onResume()方法中,你可以在其他时间启动你的计时器。
你可以看到方法: http://developer.android.com/reference/java/util/Timer.html
答案 1 :(得分:0)
扩展Application类并在其上添加一个公共静态计数器。在每个onPause()
和OnResume()
上,递增或递减它,当计数器为零时,您的app就在后台。