我实现了一个现在正常工作的前台服务,该服务正在加载共享首选项以便使用。 现在,当用户更改这些参数并应用它们时,我必须重新启动服务,以便它可以从首选项加载新的更改。
我的服务是从交换机启动/停止,重新启动它我正在使用:
@Override
public void onSettingsInteraction() {
if(pService.isRunning()){
pServiceSwitch.performClick();
pServiceSwitch.performClick();
}
}
回调正在侦听设置片段交互;现在我的问题是;我应该在两个电话之间设置一个小的延迟还是保持原样?我担心这两个电话发生得太快,服务停止而不重新开始。
答案 0 :(得分:1)
替代方案:为什么不用Service
拨打startService()
来包含"额外"而不是停止并启动Intent
。表示Service
应重新加载参数。 Service
获取Intent
中的onStartCommand()
,然后可以重新初始化自己。