在我的 android 应用程序中,我已经创建了一个服务,该服务在后台线程上获取数据并定期将其发送到服务器。我有三类用户,这些用户已由首选项活动设置,现在我希望我的服务只有在选择了特定类型的用户时才能运行,否则服务应停止。所以我想停止服务更改我的 sharedpreference(xml 文件中的 listpreference)。我如何检索我的服务的引用(它在后台运行而不是新的引用)并在用户更改 listpreference 中的值时绑定以停止。
提前致谢。
在我的 android 应用程序中,我已经创建了一个服务,该服务在后台线程上获取数据并定期将其发送到服务器。我有三类用户,这些用户已由首选项活动设置,现在我希望我的服务只有在选择了特定类型的用户时才能运行,否则服务应停止。所以我想停止服务更改我的 sharedpreference(xml 文件中的 listpreference)。我如何检索我的服务的引用(它在后台运行而不是新的引用)并在用户更改 listpreference 中的值时绑定以停止。
提前致谢。
您无需绑定它即可停止它。无论您有Context
参考(Activity
或Service
基本应用程序上下文),只需调用stopService()
:
private void stopServiceUsingContext(Context context) {
context.stopService(new Intent(context, MyServiceClass.class));
}
编辑:如果您想停止服务以响应首选项更改侦听器,那么您应该有一个对Activity
扩展的引用,Context
因此上面的代码适用