2012-05-28 8 views
6

Ho un'app che consente all'utente di impostare allarmi in vari momenti. Attualmente utilizza AlarmManager più un BroadcastReceiver e un AlertDialog per avvisare l'utente che un allarme si sta spegnendo.C'è un'API Android per rimuovere gli allarmi

Mi piacerebbe vedere se la mia app potrebbe utilizzare la sveglia integrata. So di poter programmare gli allarmi in questo modo:

  Intent i = new Intent(AlarmClock.ACTION_SET_ALARM); 
     i.putExtra(AlarmClock.EXTRA_HOUR, new Date(alarm.getTime()).getHours()); 
     i.putExtra(AlarmClock.EXTRA_MINUTES, new Date(alarm.getTime()).getMinutes()); 
     i.putExtra(AlarmClock.EXTRA_MINUTES, alarm.getDescription()); 
     i.putExtra(AlarmClock.EXTRA_SKIP_UI, true); 
     context.startActivity(i); 

ma ciò presenta 2 problemi:

  1. non sembra essere un modo per programmare un allarme per> 24 ore nel futuro
  2. l'allarme integrato di Android consente di impostare 10 allarmi

Per aggirare l'articolo 1, è possibile utilizzare AlarmManager per programmare l'allarme degli utenti da impostare entro 24 ore. Tuttavia, questo mi lascia con item 2 - idealmente ho bisogno di un modo per rimuovere gli allarmi della mia app dalla sveglia Android dopo che sono stati eseguiti (per evitare che gli allarmi della mia app occupino spazio di allarme) ma non riesco a trovare una via per ottenere un lista di allarmi e rimuoverne uno.

È possibile o devo attenermi all'approccio manuale AlarmManager/AlertDialog?

risposta

0

Se è necessario un allarme entro 24 ore, è possibile utilizzare l'allarme. Se è ulteriormente in futuro, dovrai aggiungere una notifica a un evento del calendario. Potresti anche realizzare la tua implementazione personalizzata di un gestore di allarmi, è tutto su ciò che stai cercando di ottenere e di cui non hai detto nulla.

Problemi correlati