2015-11-26 1 views
0

Я хочу сохранить XMPPConnection открыт в моем приложении. Для этого я решил повторить открытие соединения в определенный промежуток времени, используя AlarmManager. Но мое замешательство - это когда и откуда я должен начать этот AlarmService.Android: Когда и где вызывать службу оповещения?

Вопрос 1: Если я начинаю что AlarmService из LaunchActivity, не он планироваться несколько раз?

Вопрос 2: Если я начинаю что AlarmService из любого другого Activity или службы, что произойдет, если пользователь принудительно убил приложение?

Вопрос 3: Создание AlarmService для той же PendingIntent заменит его (или заменить его) или будет назначено, как новый?

ответ

1

Вы можете начать свои ожидающие действия от запуска. Ключ для ожидающего намерения - время, поэтому сохраните время в UserPrefs или local DataBase. И при каждом запуске, прежде чем вы начнете следующее ожидающее намерение, вызовите alarmManager.cancel(pendingIntent);, чтобы удалить истекшее намерение.