重启我的android服务?

时间:2011-06-29 17:51:45

标签: android service

如果某些偏好设置已更改,我想重新启动我的Android服务,但是在Service类中没有什么比重启方法更好的了?有没有办法重新启动我的服务,除了创建一些重置方法,重置所有类变量等?谢谢你的提示!

2 个答案:

答案 0 :(得分:1)

我认为再次调用它会再次调用onStartCommand()。 这可能适合你。

*如果它不存在,它将运行onCreate()。

再次调用startService(intent),这将解决问题

答案 1 :(得分:0)

您必须在服务类中override onStartCommand(),如下所示:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    super.onStartCommand(intent, START_STICKY, startId);
    return START_STICKY;
}

常量变量START_STICKY表示系统在被杀死时重启服务。

您应该有/ {实现listener来检测并通知何时更改首选项,您应该在onStart()方法中注册该侦听器并在onDestroy()内取消注册该侦听器。