как я могу остановить мой RECEIVE_BOOT_COMPLETED сервис - PullRequest
0 голосов
/ 21 октября 2011

вижу много вопросов по этому поводу, но я не могу это исправить.

У меня есть этот код

public class myBroadcastReceiver extends BroadcastReceiver {
private final String TAG = "myBroadcastReceiver";
  @Override
  public void onReceive(Context context, Intent intent) {
     if(intent.getAction().equals(Consts.ANDROID_INTENT_ACTION_BOOT_COMPLEATE)){
    Intent newinIntent = new Intent(context, ServiceBootCompleated.class);
    context.startService(newinIntent);
     }
  }
}

Он запускает Service, и я могу отладить его, используя эту строку

android.os.Debug.waitForDebugger(); 

Я вижу, что return START_NOT_STICKY; выполняетсяно все равно служба видна как «работающая» служба в «Настройки»> «Программы»> «Запущенные службы»

onDestroy() никогда не вызывается, если я не остановлю ее вручную.
Что мне нужно сделать, чтобы остановить
удалить его из окна «Настройки> программы> Запуск служб»?

Ответы [ 2 ]

3 голосов
/ 21 октября 2011

После того, как вы завершили работу, которую вы хотели сделать, в фоновом режиме, позвоните stopSelf()

Убедитесь, что любая реальная работа, которую вы выполняете в Сервисе, выполняется как фоновый поток, а не в onCreate или onStartCommand.

См. http://developer.android.com/reference/android/app/Service.html#ServiceLifecycle для получения дополнительной информации о жизненном цикле службы.

Пример:

public int onStartCommand(final Intent intent, final int flags, final int startId)
{       
    Thread thread = new Thread(new Runnable()
    {
        @Override
        public void run()
        {
                    //do work
                stopSelf();
        }
    },"MyWorkerThread");
    thread.start();
    return Service.START_NOT_STICKY;
}
0 голосов
/ 21 октября 2011

по завершении задачи вы должны выполнить context.stopService () для остановки этого типа несвязанной службы.

С уважением,
SSuman185

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