当app在后台时停止BackgroundService

时间:2014-09-27 08:20:35

标签: android android-fragments background-service

我有一个后台服务方法,经常调用更新的应用程序数据。 我有一个活动,根据用户导航显示多个片段。 我刚从我的仪表板活动启动应用程序时启动服务,我正在显示片段。现在我只想在用户退出app.I时停止服务我的活动的onDestroy()中有停止服务的代码,但它从未得到过用户按下Android移动主页按钮并退出应用程序时调用。

在我的服务代码下面 -

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    callAsynchronousTask();
    return Service.START_NOT_STICKY;
}

2 个答案:

答案 0 :(得分:1)

按下主页按钮时,Activity没有被破坏!尝试在onPause方法中或在最适合您需求的活动生命周期的其他方面实现您的功能!

http://developer.android.com/training/basics/activity-lifecycle/index.html

答案 1 :(得分:1)

onDestroy()只会在您关闭应用或关闭活动时调用。当你按下主页按钮时它不会打电话。如果您仍然希望服务在用户按下主页按钮时停止,则您可以覆盖onPause()并停止服务 ,但是当您打开另一个活动时,服务将再次停止。