AlarmManager cuando el teléfono está apagado – ANDROID

Estoy haciendo un sistema de alarma pero tengo un problema cuando el teléfono está apagado .. La alarma no funciona ..

Estoy fijando la alarma de la siguiente manera:

public void doIntents(Context context, long milis, Tratam trat){ cal=Calendar.getInstance(); alarmManager = (AlarmManager) context.getSystemService(Service.ALARM_SERVICE); cal.setTimeInMillis(milis); Intent intent = new Intent(context, OnAlarmReceiver.class); pendingIntent = PendingIntent.getBroadcast(context, trat.getId(), intent, PendingIntent.FLAG_UPDATE_CURRENT); alarmManager.set(AlarmManager.RTC_WAKEUP,milis ,pendingIntent); } 

La alarma funciona bien cuando se enciende el teléfono.

¿Que puedo hacer?

¡Gracias!

Sí, el problema es que su aplicación no se está ejecutando cuando el teléfono se reinicia. Tendrás que registrar un BroadcastReceiver que puede recibir el mensaje BOOT_COMPLETED para que reciba un mensaje cuando reinicie el teléfono. Entonces en el BroadcastReceiver usted puede reprogramar esas alarmas o lo que sea. Pero no creo que haya nada que puedas hacer para activar la alarma cuando el teléfono está apagado. (Por ejemplo, activar el teléfono)

 <receiver android:name="MyBootReceiver" android:enabled="true" android:exported="true" android:label="BootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver> 

Las alarmas se borran cuando el teléfono se apaga y se reinicia, pero puede iniciar su alarma con BroadcastReceiver que puede recibir el BOOT_COMPLETED

 In Manifest.xml: <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application ...> <receiver android:name="com.example.receiver.AlarmMonitorReceiver" android:enabled="true" android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> </application> 

Java:

 public class AlarmMonitorReceiver extends BroadcastReceiver{ public void onReceive(Context context,Intent intent) { if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent intentAlarm = new Intent(context, ExampleReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intentAlarm, 0); Calendar time = Calendar.getInstance(); time.setTimeInMillis(System.currentTimeMillis()); time.add(Calendar.SECOND, 10); alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(),10000,pendingIntent); } } 

}

  • Android: Inicio de múltiples intentos pendientes a la misma hora con el Administrador de alarmas
  • Problema con la cancelación del AlarmManager - PendingIntent
  • Android PendingIntent FLAG_NO_CREATE no devuelve null
  • Pasando intención extra a receptor de radiodifusión android
  • New PendingIntent actualiza la intención actual
  • Cómo recibir notificaciones cuando se notifica una notificación
  • Enumeración usb Android
  • ¿Cómo crear different pendingintent para que filterEquals () devuelva false?
  • PendingIntents mantiene el mismo objeto en caché
  • Notificación de Android PendienteIntentos adicionales null
  • Alarma pendiente La alarma no se cancela
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.