检索我的应用服务,以便我可以阻止它

时间:2013-10-16 11:59:22

标签: android service background preference

在我的Android应用程序中,我已经创建了一个服务,它在后台线程上获取数据并定期将其发送到服务器。我有三类用户已按优先级设置活动,现在我希望我的服务只应在当且仅当选择了特定类型的用户时运行,否则服务应该停止。所以我想停止更改我的共享首选项(xml文件中的listpreference)的服务。如何检索我的服务引用(在后台运行而不是新引用)并绑定到用户更改listpreference中的值时停止。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您不需要绑定它就可以阻止它。无论您有Context引用(ActivityService还是基本应用程序上下文),只需致电stopService()

private void stopServiceUsingContext(Context context) {
    context.stopService(new Intent(context, MyServiceClass.class));
}

编辑:如果您想要停止服务以响应偏好更改侦听器,那么您应该引用Activity扩展Context以上代码适用