服务停止,一旦从最近的活动列表中删除

时间:2014-12-29 07:13:57

标签: android service

即使应用程序停止运行,我也会无限期地使用IntentService。

这是我的服务:

public class TestService extends IntentService {

    public TestService() {
        super("test");
    }

    @Override
    protected void onHandleIntent(Intent intent) {

        while (true) {
            // do works
            SystemClock.sleep(60000);
        }
    }
}

并表明:

<service android:name=".TestService" />

只要我没有从最近的活动列表中删除我的应用程序,我的服务就能正常运行,但我希望它始终有效。

根据我的搜索,我意识到如果我在清单中将android:stopWithTask设置为false并覆盖服务中的onTaskRemoved方法,我就能够处理我的服务

<service
    android:enabled="true"
    android:name=".TestService"
    android:exported="false"
    android:stopWithTask="false" />

但这需要API级别14或更高级别,而我的应用API级别为8 我怎样才能解决我的问题?

1 个答案:

答案 0 :(得分:1)

如果您想要无限制地运行服务,那么为什么要使用IntentService。你应该使用服务,它将运行得非常巧妙。完成要求执行的任务后,IntentService将自行关闭,如果有任何请求,将从quene打包另一个请求。
请查看以下linklink