Жизненный цикл и сервис приложений Android - PullRequest
5 голосов
/ 17 сентября 2010

Возможно, это не очень сложный вопрос, но, во-первых, я понятия не имею, какой поисковый запрос я должен искать?!

В начале моего приложения я хотел бы запустить GPS, и если мое приложение будет расширено, GPS должен быть закрыт.

Как я могу проверить, завершено ли все приложение (не действие)?

Достаточно ли использовать onDestroy-Method для Start-Activity, который никогда не закроется с помощью finish ()?

Большое спасибо и извините за вопрос новичка.

Mur

UPD

Я видел первый ответ, и я хотел бы сказать один раз.

Я не имею в виду ДЕЯТЕЛЬНОСТЬ, я имею в виду в целом ПРИМЕНЕНИЕ (в котором существует много видов деятельности).

Как проверить, были ли завершены все действия приложения и только в этом случае остановить службу?

Есть ли возможность для этого?

UPD2:

Я протестировал свое решение на устройстве:

"Достаточно ли использовать onDestroy-Method для Start-Activity, который никогда не закроется с помощью finish ()?"

Да, этого было достаточно.

Ответы [ 2 ]

7 голосов
/ 17 сентября 2010

Сделайте так, чтобы каждое действие связывалось (через bindService) со службой ... Когда все действия будут прекращены (неявно связаны), ваше Service погибнет.Поскольку Служба останется в живых до тех пор, пока кто-то с ней связан.

0 голосов
/ 17 сентября 2010

В данном конкретном случае вам нужно сделать следующее:

  • Создать Activity для отображения информации пользователю.
  • Создать Service, который будет работать нафон и отправит обновления на Activity

Существует множество примеров того, что вы пытаетесь сделать, но в основном вы можете запустить Service в методе onStart() вашегоActivity и прекращение обслуживания на onDestroy().

...