如何启动自动停止的android服务?

问题描述:

我写过一个服务,它在启动时运行,但突然由于运行时错误导致服务停止。如何重新运行自动停止的服务(由于运行时异常)。如何启动自动停止的android服务?

+3

您是否考虑修复导致您的服务停止的'RuntimeException'? –

+0

您的onStartCommand服务是否返回START_STICKY? – tonys

存在的服务,您可以使用从内部停止服务

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); 
    } 

也许你可以得到一个停止由于监视第一个服务的第二个服务,并在其停止响应时重新启动它。我认为这基本上是Android的看门狗为系统服务所做的。