Я пишу приложение для Android, которое извлекает текущее местоположение телефона и отправляет его также на веб-сервере. Я хочу, чтобы у вас была возможность нажать кнопку «Пуск», и приложение продолжает извлекать и отправлять местоположение в заданный интервал (скажем каждые 10 минут), а затем останавливать его нажатием другой кнопки.Как повторить метод каждые 10 минут после нажатия кнопки и завершения ее на другой кнопке
Вот код для моих кнопок:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startButton.setOnClickListener(new OnClickListener() {
@Override
//When the button is clicked
public void onClick(View v) {
finishButton.setEnabled(true);
startButton.setEnabled(false);
//Loops every 10mins
pingCurrentLocation();
}
});
finishButton.setOnClickListener(new OnClickListener() {
@Override
//When the button is clicked
public void onClick(View v) {
startButton.setEnabled(true);
finishButton.setEnabled(false);
pingCurrentLocation();
}
});
}
pingCurrentLocation это функция, которая получает местоположение и отправляет его.
Я знаю, что использование AlarmManager, вероятно, достигнет того, что я хочу, но я не смог понять ни одного из них. Есть ли четкие шаги или шаблоны, которые будут работать в моей ситуации.
Я не понимаю, диспетчер аварийных сообщений - это идеальный способ сделать это .... Я делаю то же самое, используя диспетчер аварийных сигналов. Сервис съедает память, и мне не нравятся темы, поэтому я выбрал AlarmManager. Вы хотите, чтобы я разделил мой код здесь? – drulabs
Я знаю, что было бы идеально, если бы у меня было много проблем с его реализацией. Если вы не возражаете поделиться своим кодом, это будет здорово. –
@ X-Man - я обновил ответ с подробной информацией об использовании комбинации AlarmManager/BroadcaseReceiver. – coderplus