退出应用程序时停止服务(在Android的任务中轻扫应用程序)

时间:2015-10-08 08:01:20

标签: android

我有一个基于Activity中的复选框的服务(用户可以启动或停止它)。 一旦启动,它将在后台运行,并且当活动为onDestroy()时不应该停止。

但是,当用户在Android的任务中滑动应用程序时,我想停止它,因为当用户重新打开应用程序时,此服务需要重新启动。

我该怎么做?是否可以在Application中的onTerminate()方法中停止服务。

2 个答案:

答案 0 :(得分:8)

  

我该怎么做?

您可以在manifest.xml

上的service上添加此内容
android:stopWithTask="true"

如果您想控制它,您也可以在Service添加onTaskRemoved()

的情况下进行控制
 @Override
public void onTaskRemoved(Intent rootIntent) {
    super.onTaskRemoved(rootIntent);
    //STOP SERVICE OR WHATEVER YOU WANT
}

如果您使用onTaskRemoved(),请不要添加android:stopWithTask="true",因为它不会被调用*

答案 1 :(得分:1)

您可以在调用onPause()或onDestroy()时将标记设置为false。将此标记保存在SharedPreferences中。使用此标记检查您的应用是否正在运行。仅当flag为true时才启动服务。