-
- public static void setAlarm(GregorianCalendar cal,Context context) {
- Intent in = new Intent(context,AlarmReceiverActivity.class);
- PendingIntent pi = PendingIntent.getActivity(context, 1234, in, PendingIntent.FLAG_CANCEL_CURRENT);
- AlarmManager am = (AlarmManager)context.getSystemService(Activity.ALARM_SERVICE);
- am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pi);
+
+ public static void addAlarm(final Application application, final long time, final long eventId) throws SQLException{
+ final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase();
+ final ContentValues values = new ContentValues(2);
+ values.put(AlarmOpenHelper.TIME, time);
+ values.put(AlarmOpenHelper.EVENT, eventId);
+ db.insertOrThrow(AlarmOpenHelper.TABLE, null, values);
+ setAlarm(application, time, eventId);
+ }
+
+ public static void deleteAlarm(final Application application, final long time) throws SQLException{
+ final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase();
+ db.delete(AlarmOpenHelper.TABLE, AlarmOpenHelper.TIME + " = " + time, new String[]{});
+ unsetAlarm(application, time);
+ }
+
+ public static void setAlarm(final Context context, final long time, final long eventId){
+ final Intent intent = new Intent(context, AlarmReceiverActivity.class);
+ intent.setAction(Long.toString(time));
+ intent.putExtra(AlarmReceiverActivity.EXTRA_EVENT, eventId);
+ final AlarmManager man = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+ man.set(AlarmManager.RTC_WAKEUP, time, PendingIntent.getActivity(context, 0, intent, 0));
+ }
+
+ public static void unsetAlarm(final Context context, final long time){
+ final Intent intent = new Intent(context, AlarmReceiverActivity.class);
+ intent.setAction(Long.toString(time));
+ final AlarmManager man = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+ man.cancel(PendingIntent.getActivity(context, 0, intent, 0));