2012-06-11 3 views
0

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

Для моего приложения, когда нажата последняя кнопка (кнопка запуска анализа), я хочу, чтобы служба запускалась, анализ, который должен выполняться внутри службы, длится почти 2-3 минуты, как только анализ будет выполнен. Я хочу служба автоматически запускает страницу активности результатов, присутствующую в моем основном действии.

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

Благодаря

ответ

1

Определение сервиса Android является то, что она может работать в фоновом режиме, лишенной интерфейса. Так что да, это возможно. Однако Служба сама по себе не запускается автоматически в фоновом режиме (она работает в основном потоке). Вместо этого вы, вероятно, хотите сделать следующее:

  • Имейте службу, которая слушает намерения, которые говорят, чтобы начать операцию.
  • Когда пользователь нажимает кнопку, отправьте намерение этой службе.
  • Служба начнет новый фоновый поток, немного поработает.
  • Закончив свою работу, Служба начнет новую деятельность. (Like this..)

Пожалуйста принять к сведению, что считается очень плохая практика, чтобы начать новую активность, если пользователь не использует приложение. Это ужасно, если вы используете приложение для чата, и случайное приложение начинает принимать на себя ... Вместо этого лучше всего придерживаться флаг где-нибудь, а затем в обработчике onResume() другого вашего действия, проверьте, завершена ли задача, и если это так отправить пользователя на другую деятельность.

Смежные вопросы