2012-05-28 9 views
6

Tengo una aplicación que permite al usuario establecer alarmas varias veces. Actualmente, utiliza AlarmManager más un BroadcastReceiver y un AlertDialog para alertar al usuario sobre el inicio de una alarma.¿Hay una API de Android para eliminar alarmas?

Me gustaría ver si mi aplicación puede hacer uso de la alarma incorporada. Sé que puedo programar alarmas de este 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); 

pero esto presenta 2 problemas:

  1. no parece ser una manera de programar una alarma para> 24 horas en el futuro
  2. la alarma incorporada de Android solo permite establecer 10 alarmas

Como solución al tema 1, podría usar AlarmManager para programar la alarma de los usuarios que se configurará dentro de las 24 horas de su hora prevista. Sin embargo, esto me deja con el elemento 2: idealmente necesito una forma de eliminar las alarmas de mi aplicación del despertador Android después de que se hayan ejecutado (para evitar que las alarmas de mi aplicación ocupen espacio de alarma) pero no puedo encontrar una distancia para obtener un lista de alarmas y eliminar una.

¿Es esto posible o tengo que seguir el enfoque manual de AlarmManager/AlertDialog?

Respuesta

0

Si necesita una alarma dentro de las 24 horas puede usar la alarma. Si es más adelante en el futuro, deberá agregar una notificación a un evento del calendario. También puede hacer su propia implementación personalizada de un administrador de alarma, se trata de lo que trata de lograr y de lo que no ha dicho nada en absoluto.

Cuestiones relacionadas