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 ListView en el widget onClick no funciona
  • Android: cómo obtener la ID de PendingIntent para cancelar la función pendingintent
  • Intención con el extra antiguo en onCreate () para singleTask Actividad
  • GetIntent () en onResume () siempre devuelve la misma acción, ¿cómo consumirla?
  • Propiedades duplicadas después de la actualización de la aplicación. ¿Las alarmas sobreviven?
  • Cómo probar con Espresso un PendingIntent generado por TaskStackBuilder
  • OnClick PendingIntent en widget a veces no funciona
  • La notificación abre actividad, se pulsa el botón de retroceso, se abre la actividad principal?
  • Cómo reiniciar / actualizar el contenido de la actividad en la notificación haga clic
  • ¿Cómo actualizar vista de un widget en el botón de clic en android?
  • ¿Es posible crear múltiples PendingIntents con el mismo requestCode y diferentes extras?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.