0
我正在从“运行服务”中强制杀死我的Android Sticky服务。但它并没有自动从操作系统重新启动,如here所述。强制杀死Android粘性服务会再次重启吗?
1 - 当用户通过运行服务强行关闭时,它多久会再次重新启动?
2 - 当操作系统破坏粘性服务时,它多久会再次重新启动?
我正在从“运行服务”中强制杀死我的Android Sticky服务。但它并没有自动从操作系统重新启动,如here所述。强制杀死Android粘性服务会再次重启吗?
1 - 当用户通过运行服务强行关闭时,它多久会再次重新启动?
2 - 当操作系统破坏粘性服务时,它多久会再次重新启动?
因此,根据我的经验,答案是否定操作系统不会再次调用服务,如果它被用户通过“正在运行的服务”强制关闭。它只在应用程序被销毁(滑走)时调用服务onStartCommand(Intent intent, int flags, int startId)
方法。
但我找到了一个快速解决方案,正如我们知道服务被销毁时onDestroy()
方法被调用一样。因此,只需像这样再次初始化服务:
@Override
public void onDestroy() {
super.onDestroy();
startService(new Intent(context, TimerService.class));
Log.v("App", "Service Started Again");
}