我已经编写了一个服务,它在启动时运行,但突然由于一些运行时错误导致服务停止。如何重新运行自动停止的服务(因为运行时异常)。
答案 0 :(得分:1)
有一个
stopSelf()
stopSelf(startId)
服务中可用于从内部停止服务的方法。
修改强>
我想我需要休息一下。
如果您想查找服务是否由于某些runtimeexecption而停止
你可以尝试吗? private Thread.UncaughtExceptionHandler onRuntimeError= new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread thread, Throwable ex) {
//Try starting the service again
//May be a pending intent might work
};
在您的创建
中 @Override
protected void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(onRuntimeError);
}
答案 1 :(得分:0)
也许您可以获得第二项服务来监控第一项服务,并在其停止响应时重新启动它。我认为这基本上就是Android中的看门狗对系统服务的作用。