public class HelperAlarm extends BroadcastReceiver { final public static String ONE_TIME="onetime"; @Override public void onReceive(Context context, Intent intent) { PowerManager pm=(PowerManager) context.getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl= pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"YOUR TAG"); //Осуществляем блокировку wl.acquire(); //Здесь можно делать обработку. Bundle extras= intent.getExtras(); StringBuilder msgStr=new StringBuilder(); if(extras!=null && extras.getBoolean(ONE_TIME, Boolean.FALSE)){ //проверяем параметр ONE_TIME, если это одиночный будильник, //выводим соответствующее сообщение. msgStr.append("Одноразовый будильник: "); } Format formatter = new SimpleDateFormat("hh:mm:ss a"); msgStr.append(formatter.format(new Date())); Toast.makeText(context, msgStr, Toast.LENGTH_LONG).show(); //Разблокируем поток. wl.release(); } public void SetAlarm(Context context) { AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent intent=new Intent(context, HelperAlarm.class); intent.putExtra(ONE_TIME, Boolean.FALSE);//Задаем параметр интента PendingIntent pi= PendingIntent.getBroadcast(context,0, intent,0); //Устанавливаем интервал срабатывания в 5 секунд. am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),1000,pi); } public void CancelAlarm(Context context) { Intent intent = new Intent(context, HelperAlarm.class); PendingIntent sender= PendingIntent.getBroadcast(context,0, intent,0); AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); alarmManager.cancel(sender);//Отменяем будильник, связанный с интентом данного класса } public void setOnetimeTimer(Context context){ AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent intent=new Intent(context, HelperAlarm.class); intent.putExtra(ONE_TIME, Boolean.TRUE);//Задаем параметр интента PendingIntent pi= PendingIntent.getBroadcast(context,0, intent,0); am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pi); } } How can I start the application when the alarm goes off, even if the screen is off?
onRecevemethod dostartActivity- Andrew Romanenko