Skip to content

Instantly share code, notes, and snippets.

@Antarix
Created February 19, 2014 11:23
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save Antarix/9090171 to your computer and use it in GitHub Desktop.
Save Antarix/9090171 to your computer and use it in GitHub Desktop.
Simple Alarm Manager for android
import java.util.Calendar;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import com.bhartiy.anywork.utils.Logcat;
public class NotifyAlaramManger {
public static final int REQUEST_CODE = 111131;
//private final static long INTERVAL=30*1000;
//private final static long INTERVAL=7200000;
public static final int FIVE_MINUTE = 300000;
public static void setAlaram(Context context) {
Calendar cal = Calendar.getInstance();
//cal.add(Calendar.HOUR, 5);
cal.add(Calendar.MINUTE, 5);
long tomorrow = cal.getTimeInMillis();
Intent intent = new Intent(context, NotificationReceiver.class);
boolean alarmRunning = (PendingIntent.getBroadcast(context, REQUEST_CODE,intent,
PendingIntent.FLAG_NO_CREATE) != null);
//Check if alarm is already running
if(alarmRunning){
Logcat.e("AlaramManager", "Alaram already running!");
return;
}
PendingIntent sender = PendingIntent.getBroadcast(context,REQUEST_CODE,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP,tomorrow,FIVE_MINUTE, sender);
Logcat.e("alaram", "alaram set");
//am.setRepeating(AlarmManager.RTC_WAKEUP,tomorrow,AlarmManager.INTERVAL_FIFTEEN_MINUTES, sender);
}
public static void updateAlaram(Context context) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 5);
long tomorrow = cal.getTimeInMillis();
Intent intent = new Intent(context, NotificationReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(context,REQUEST_CODE,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP,tomorrow,FIVE_MINUTE, sender);
}
public static void cancelAlaram(Context context) {
Intent intent = new Intent(context, NotificationReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(context,REQUEST_CODE,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
am.cancel(sender);
}
}
@aaghan
Copy link

aaghan commented May 18, 2020

can you please add

NotificationReceiver

class as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment