【发布时间】:2016-11-09 20:46:53
【问题描述】:
我从“正在运行的服务”中强行终止了我的 Android 粘性服务。但它不会像here 提到的那样由操作系统自动重新启动。
1 - 用户通过正在运行的服务强制关闭后多久重新启动?
2 - 操作系统销毁粘性服务后多久重新启动?
【问题讨论】:
我从“正在运行的服务”中强行终止了我的 Android 粘性服务。但它不会像here 提到的那样由操作系统自动重新启动。
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");
}
【讨论】: