Используя намерениеService или есть лучшие способы?

Я создаю приложение, которое будет делать следующее:

Если приходит письмо с messageword. Он должен начать определять местонахождение телефона с помощью функции GPS. после этого он должен показать результат пользователю.

У меня уже есть работа с использованием широковещательного приемника для получения сообщения. После этого запускается Activity. Если не обновляется пользовательский интерфейс.

У меня тут две проблемы:

1) если экран вращается, все переменные обнуляются... что можно решить, сохранив переменные в onPause() и прочитав эти значения в onResume()

2) если пользователь использует кнопку "Назад"... поток отменяется.

На самом деле я хочу, чтобы пользователь не мог отменить действие GPS.

Стоит ли использовать для этого Intentservice?!

- приходит сообщение

-BroadcastReceiver получить сообщение и запустить службу намерений

-если обработка завершена... Я могу запустить активность с результатами (и сервис автоматически закрывается после обработки?!

Может быть, есть лучший способ атаковать проблему?


person user1404924    schedule 04.06.2012    source источник


Ответы (1)


Вы, конечно, можете и должны использовать IntentService для длительных операций в фоновом режиме. Однако, если пользователь отказался от вашей активности, он, скорее всего, сделал это по какой-то причине, и появление активности с результатами, которые его больше не интересуют, может быть не такой уж хорошей стратегией. Вместо этого вы можете кэшировать результат и показывать его в следующий раз, когда пользователь откроет вашу активность.

person Nikolay Elenkov    schedule 04.06.2012