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

时间:2011-08-24 09:09:57

标签: android service

我已经编写了一个服务,它在启动时运行,但突然由于一些运行时错误导致服务停止。如何重新运行自动停止的服务(因为运行时异常)。

2 个答案:

答案 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中的看门狗对系统服务的作用。