Кто-то (участник «buptcoder») помог мне решить проблему, которую я имел, очень быстро и красиво. Я рад, что нашел здесь сообщество. Всем спасибо.Android - Невозможно понять, как служба может быть запущена даже после перезагрузки.
Я прочитал много веб-страниц, говорящих «начиная службу во время загрузки», но у меня все еще есть вопрос в голове.
Вот код, который у меня уже есть: Я нажимаю кнопку (в действии), которая запускает службу, которая регистрирует BroadcastReceiver (SMS_RECEIVED). Когда я нажимаю кнопку «Назад» (кнопка Google Android), служба (и BroadcastReceiver) по-прежнему активна. Хорошо.
Вот что я хочу: Я хочу, чтобы эта услуга (которая была активирована кнопкой), чтобы автоматически перезапустить, даже если пользователь перезагрузит телефон. Активация службы динамическая, и я не хочу, чтобы она запускалась, если пользователь не нажал кнопку.
Я знаю, что должен использовать действие BOOT_COMPLETED, но я не могу понять, как мы можем это сделать точно.
Если кто-то может понять то, что я написал, и помочь мне :)
Спасибо.
Просто добавив к нему, я думаю, что если вы хотите, чтобы приемник работать даже после перезагрузки, вам необходимо включить BOOT_COMPLETED. На этом есть много потоков. Проверьте [this] (http://stackoverflow.com/questions/6878816/broadcastreceiver-not-working-after-boot-completed) и [это] (http://stackoverflow.com/questions/5082735/broadcast-receiver- не-рабочие после перезагрузки). –
Спасибо вам обоим. Ваши ответы решают часть моей проблемы. Действительно, я упомянул, что хочу, чтобы Android узнал, нажал ли пользователь кнопку (активировать услугу). Если нет, я не хочу, чтобы Android запускал мой сервис во время загрузки. Это динамическая регистрация. Я думаю, что если я жестко код в файле манифеста, он не будет динамическим. Может быть, я должен добавить действие (BOOT_COMPLETED) динамически через addAction, как я сделал с SMS_RECEIVED. (Для buptcoder: у меня будет несколько сервисов. Как я писал в своем предыдущем сообщении, кнопка запускает службы, которые регистрируют широковещательный приемник). Благодарю. –
frontal