2016-04-12 4 views
0

Я пытаюсь запустить сервис с помощью кнопки в уведомлении. Я использую ту же кнопку для запуска и остановки. Стоп работает, но когда я начинаю снова, я вижу, что в отладчике код выполняет часть startService, но не запускает службу, также не показывает исключения. Пожалуйста помоги.Невозможно начать сервис внутри внутреннего вещания приемника вещания

public static class switchButtonListener extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (startStopCount == 0) { 
      new OuterClassService().timer.cancel(); 
      new OuterClassService.ScreenshotService().stopSelf(); 
      startStopCount = 1; 
     } else { 
      context.startService(new Intent(context, OuterClassService.ScreenshotService.class)); 
      startStopCount = 0; 
     } 
    } 

Первое уведомление время, но при нажатии, она работает и служба останавливается, но когда я использую ту же кнопку, чтобы начать снова, он не запускает услугу

+0

Отправьте код кнопки, пожалуйста, – Leonardo

ответ

1

Там нет кода здесь который запускает или останавливает службу. Если OuterClassService.ScreenshotService() является Service, вы не можете создать экземпляр этого класса самостоятельно и ожидать его работы.

Чтобы начать услугу, позвоните startService() по номеру Context, переходя на Intent, который идентифицирует услугу.

Чтобы остановить службу из-за пределов службы, позвоните по номеру stopService() по номеру Context, переходя на Intent, который идентифицирует услугу. Чтобы остановить службу изнутри работающий экземпляр службы, позвоните по телефону stopSelf().

+0

Прошу прощения .. вы правы. я, вероятно, просто остановил «Таймер» и подумал, что «Сервис» остановлен. – boo