Alerta de alarma Android con fecha fija y repetitiva
Quiero que el pesebre de alarma se invoca en cada 5th date of month repetitively
. ¿podemos hacerlo android simplemente AlarmManager
?, o necesito algo más lógica específica.
Tengo ir a través de este android alarmmanager repetir cada mes en la fecha especificada y alarmmanager android iniciar una vez al mes .
- ¿Cómo implementas una a muchas relaciones en Clean Architecture
- ¿Cómo utilizar el algoritmo de relleno de inundación en Android?
- Sms ContentObserver onChange () se activa varias veces
- Ordenar una lista de mapa <cadena, cadena>
- Necesito una opción alternativa a HttpClient en Android para enviar datos a PHP ya que ya no es compatible
Pero todavía estoy confundido, Por favor sugiera alguna solución sobre este problema.
Edite la pregunta según la necesidad.
Gracias:
- Problema con la biblioteca de asistencia de Android 23.2.1 AppBarLayout setExpanded
- TableLayout: quita espacio entre columnas
- Cómo cambiar el ancho de la pista de conmutación de Android?
- Compartir texto en facebook con la intención de compartir de Android
- Android.intent.action.PACKAGE_ADDED BroadcastReceiver no recibe el tema añadido intención en JB 4.1
- Correo java - obtener mensaje por ID de mensaje
- Programaticamente Salir de la aplicación Android Sin terminar ()
- Android - Smack presencia y "está escribiendo" características que no funcionan
desafortunadamente ninguna de las opciones en el AlarmManager
para las tareas que se repiten no permite tal control fino. Su mejor enfoque es que en cada alarma, se vuelva a programar para el próximo mes.
PendingIntent pendingIntent = // set here your action Calendar calendar = // set this guy to be the next 5th day AlarmManager am = // get reference to the manager am.set(RTC, calendar.getTimeInMillis(), pendingIntent);
dentro de esta Acción de intención pendiente, repita el código. Por ejemplo, supongamos que desea iniciar un BroadcastReceiver
onReceive(Context context, Intent intent){ Calendar calendar = // set this guy to be the next 5th day AlarmManager am = // get reference to the manager am.set(RTC, calendar.getTimeInMillis(), pendingIntent); }
para configurar el objeto de calendar
es fácil:
Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, 1); calendar.set(Calendar.DAY, 5);
Acabo de leer una buena respuesta para hacer lo mismo.
El código es-
Calendar cal=Calendar.getInstance(); cal.set(Calendar.MONTH,5); cal.set(Calendar.YEAR,2012); cal.set(Calendar.DAY_OF_MONTH,11); cal.set(Calendar.HOUR_OF_DAY,16); cal.set(Calendar.MINUTE,10); cal.set(Calendar.SECOND,0); Intent _myIntent = new Intent(getApplicationContext(), ReceiverClass.class); PendingIntent _myPendingIntent = PendingIntent. getBroadcast(getApplicationContext(), 123, _myIntent, PendingIntent.FLAG_UPDATE_CURRENT| Intent.FILL_IN_DATA); AlarmManager _myAlarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); //_myAlarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000), _myPendingIntent); _myAlarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), _myPendingIntent);
Esto se explica en android-alarm-setting-with-specific-date .
- Parse.com deshabilitar la notificación de notificación push
- Falló la carga de la reproducción de Google debido a la versión de servicio de Google Play