Как остановить сервис сам? - PullRequest
2 голосов
/ 25 января 2012

У меня есть, например, некоторое значение int myInt в службе, и если myInt = 1, я бы хотел остановить службу сама. Поэтому служба должна автоматически останавливаться.

@Override 
    public void onCreate() {
          super.onCreate();
              if(myInt==1){
                 // need code for stopping service here
              }
        } 

Ответы [ 2 ]

1 голос
/ 25 января 2012

ОБНОВЛЕНИЕ

Очевидно, что мы не можем остановить обслуживание из-за характера жизненного цикла обслуживания.если вы можете проверить свое состояние также в OnStartCommand , вы можете попробовать вызвать stopself () там?

ОБНОВЛЕНИЕ 2

Для примера кода: вы можете попробовать запустить stopSelf() в отдельном потоке, как в этом сообщении: как я могу остановить мой RECEIVE_BOOT_COMPLETEDобслуживание

0 голосов
/ 21 июля 2012

используйте "this.stopSelf ()":

@Override 
public void onCreate() {
      super.onCreate();
          if(myInt==1){
             this.stopSelf();
          }
    }

ЕСЛИ служба не поддерживается, оставаясь связанной И / ИЛИ, будучи запущенной как STICKY (START_STICKY), это будет работать.

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