Sto creando un'app di pianificazione SMS che richiederà semplicemente tempo, sms e numero da parte dell'utente e inviare questo sms in un dato momento. Sto usando PendingIntent
. Ecco il mio codice di esempio.Come interrompere BroadcastReceiver in Android
Quando l'utente crea una pianificazione, chiama semplicemente questo metodo.
private void SendMessages()
{
Intent intent = new Intent(this, SMSBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, Timemilli, pendingIntent);
}
E qui è il file 'SMSBroadcastReceiver.java'
La mia domanda è: quando l'utente modifica il programma, come posso cancellare quella broadcast e inviare un nuovo ??? Come può esserci più di un programma, come trovare lo specifico per cambiare/abortire?
ma cosa succede se voglio aggiungere più allarmi ?? –
@DawoodAbbasi: usa ID distinti per ciascuno (il tuo '234324243'). – CommonsWare
È facile strutturarlo in modo che solo un allarme sia attivo in qualsiasi momento. Provare a ordinare tutti gli allarmi in sospeso in base al tempo di consegna desiderato, quindi pianificare quello più vicino. Quando l'allarme scatta, guarda la tua lista (tieni nel database?) E scegli il più vicino. –