我想要检测应用程序何时暂停(例如,当用户按主页按钮或启动另一个应用程序时)。检测应用程序的暂停(不是活动)
某些应用程序检测到这种情况并显示如下通知:“应用程序....在后台运行”。我需要做同样的事情,但在数据库中保存一些对象。
在此先感谢
我想要检测应用程序何时暂停(例如,当用户按主页按钮或启动另一个应用程序时)。检测应用程序的暂停(不是活动)
某些应用程序检测到这种情况并显示如下通知:“应用程序....在后台运行”。我需要做同样的事情,但在数据库中保存一些对象。
在此先感谢
在应用程序的所有活动就覆盖下面的方法。
protected void onPause() {
//do your work
super.onPause();
}
您应该在活动级别处理它。请仔细阅读以下内容,尤其是第一个答案中的评论:Android: How to handle that the application is minimized by HOME button
OnPause在活动生命周期中是您的答案。当你的应用程序暂停时,你的活动也是如此。
小心不要做任何需要很长时间的事情。在下一个活动可以开始或恢复之前,OnPause方法必须完成。因此,如果用户按下主页按钮,您的OnPause必须在用户可以看到启动程序之前完成。
晚...
您可以实现Application.ActivityLifecycleCallbacks
接口和活动正在暂停和恢复存储。如果在onPaused
上获得的活动与onResume
上最后记录的活动相同,那么您的应用即将转到后台,在旧的恢复之前会重新开始新活动。如果收到与onResume
上记录的最后一个活动不同的活动,则表示用户正在导航到您应用内的其他活动。