Как запустить автоматически остановленный сервис Android? - PullRequest
0 голосов
/ 24 августа 2011

Я написал службу, она запускается при запуске, но внезапно из-за некоторых ошибок во время выполнения служба останавливается. Как я могу запустить автоматически остановленную службу (из-за исключения во время выполнения).

Ответы [ 2 ]

1 голос
/ 24 августа 2011

существует метод

stopSelf()
stopSelf(startId)

, который можно использовать для остановки службы изнутри.

РЕДАКТИРОВАТЬ

Я думаю, мне нужно немного отдохнуть.

хорошо, если вы хотите узнать, останавливается ли служба из-за некоторого времени выполненияexecption

Можете ли вы попробовать

    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);  
    }
0 голосов
/ 24 августа 2011

Возможно, вы могли бы получить вторую службу, которая отслеживает первую службу и перезапускает ее, если она перестает отвечать. Я думаю, что это в основном то, что сторожевой таймер в Android делает для системных служб.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...