Estoy escribiendo una aplicación de Android que recupera la ubicación actual del teléfono y lo envía también como servidor web. Quiero poder presionar un botón de inicio y hacer que la aplicación continúe recuperando y enviando la ubicación a un intervalo predeterminado (digamos cada 10 minutos) y luego hacer que se detenga en otro botón.¿Cómo repito un método cada 10 minutos después de presionar un botón y lo termino en otro botón? Oprima
Este es el código para mis botones:
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 es la función que obtiene la ubicación y lo envía.
Sé que el uso de un AlarmManager probablemente logre lo que quiero pero no he sido capaz de dar sentido a nada de eso. ¿Hay algún paso o plantilla clara que funcione en mi situación?
No lo entiendo, el administrador de alarmas es una forma ideal de hacerlo ... Estoy haciendo exactamente lo mismo usando el administrador de alarmas. El servicio consumirá memoria y no me gustan especialmente los hilos, así que elegí AlarmManager. ¿Quieres que comparta mi código aquí? – drulabs
Sé que sería ideal simplemente que estoy teniendo muchos problemas para implementarlo. Si no te importa compartir tu código, sería genial. –
@ X-Man - He actualizado la respuesta con detalles sobre el uso de una combinación AlarmManager/BroadcaseReceiver. – coderplus