public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId) { var LocationServiceIntent = new Intent ("com.ETCTimeApp.SaveLocationService"); pendingSaveLocationServiceIntent = PendingIntent.GetService (this, 0, LocationServiceIntent, 0); alarm = (AlarmManager)this.BaseContext.GetSystemService (Context.AlarmService); //repeat every 10 minutes alarm.SetRepeating (AlarmType.RtcWakeup, 10000, 1 * 5000 * 60, pendingSaveLocationServiceIntent); var pendingIntent = PendingIntent.GetActivity (this, 1, new Intent (this, typeof(MainActivity)), 0); var resultString = "Location service is running on background!"; int ic_small = Resource.Drawable.gps_small; var builder = new NotificationCompat.Builder (this) .SetAutoCancel (true) .SetContentIntent (pendingIntent) .SetContentTitle ("ETC Location Notification") .SetSmallIcon (ic_small) .SetContentText (resultString); // start our service foregrounded, that way it won't get cleaned up from memory pressure StartForeground ((int)NotificationFlags.ForegroundService, builder.Build ()); return StartCommandResult.Sticky; }
public static void ProgramNextAlarm(Context context) { ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(context); int hour = prefs.GetInt(General.ALARM_HOUR, DateTime.Now.Hour); int minute = prefs.GetInt(General.ALARM_MINUTE, DateTime.Now.Minute); int seconds = TimeCalculator.GetSecondsUntilNextCheck(new DateTime(1984, 10, 12, hour, minute, 00)); //GET TIME IN SECONDS AND INITIALIZE INTENT Intent i = new Intent(context, typeof(AlarmBroadcastReceiver)); //PASS CONTEXT,YOUR PRIVATE REQUEST CODE,INTENT OBJECT AND FLAG Android.App.PendingIntent pi = Android.App.PendingIntent.GetBroadcast(context, 1, i, 0); //INITIALIZE ALARM MANAGER Android.App.AlarmManager alarmManager = (Android.App.AlarmManager)context.GetSystemService(Context.AlarmService); //SET THE ALARM long triggermillis = Java.Lang.JavaSystem.CurrentTimeMillis() + (seconds * 1000); if (Build.VERSION.SdkInt >= BuildVersionCodes.M) { alarmManager.SetAndAllowWhileIdle(Android.App.AlarmType.RtcWakeup, triggermillis, pi); } else //if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat) { alarmManager.SetExact(Android.App.AlarmType.RtcWakeup, triggermillis, pi); } //else // alarmManager.Set(Android.App.AlarmType.RtcWakeup, triggermillis, pi); }
public void SetAlarm(int ringAfterMinutes) { //Intent i = new Intent(Forms.Context, typeof(BroadcastReceiver)); Intent i = new Intent(Forms.Context, typeof(MainActivity)); i.PutExtra("alarm", "asdfadfadf"); //PASS CONTEXT,YOUR PRIVATE REQUEST CODE,INTENT OBJECT AND FLAG //PendingIntent pi = PendingIntent.GetBroadcast(Forms.Context, 0, i, 0); PendingIntent pi = PendingIntent.GetActivity(Forms.Context, 0, i, 0); //INITIALIZE ALARM MANAGER Android.App.AlarmManager alarmManager = (Android.App.AlarmManager)Forms.Context.GetSystemService(Context.AlarmService); //SET THE ALARM alarmManager.Set(AlarmType.RtcWakeup, JavaSystem.CurrentTimeMillis() + (ringAfterMinutes * 60 * 1000), pi); Toast.MakeText(Forms.Context, "Alarm set in: " + ringAfterMinutes + " minutes", ToastLength.Short).Show(); }
public AlarmUtil (Context context) { this.context = context; alarmManager = context.GetSystemService (Context.AlarmService).JavaCast<AlarmManager> (); }
private void CancelAlarm() { Context context = BaseContext; _intentTracker = new Intent(context, typeof(GPSAlarmReceiver)); _intentPending = PendingIntent.GetBroadcast(context, 0, _intentTracker, 0); _alarmManager = (AlarmManager) context.GetSystemService(AlarmService); _alarmManager.Cancel(_intentPending); }
private void StartAlarm() { Context context = BaseContext; _alarmManager = (AlarmManager) context.GetSystemService(Context.AlarmService); _intentTracker = new Intent(context, typeof(GPSAlarmReceiver)); _intentPending = PendingIntent.GetBroadcast(context, 0, _intentTracker, 0); var pref = GetSharedPreferences("LainLadangLainBelalang", 0); _jedaMenit = pref.GetInt("menitInterval", 1); _alarmManager.SetRepeating(AlarmType.ElapsedRealtimeWakeup, SystemClock.ElapsedRealtime(), _jedaMenit * 60000, _intentPending); }
private void CancelAlarmManager () { Log.Debug (Tag, "StopAlarmManager"); var context = BaseContext; _gpsIntent = new Intent (context, typeof (LokTrackerAlarmReceiver)); _pendingIntent = PendingIntent.GetBroadcast (context, 0, _gpsIntent, 0); _alarmManager = (AlarmManager) context.GetSystemService (Context.AlarmService); _alarmManager.Cancel (_pendingIntent); }
private void StartAlarmManager () { Log.Debug (Tag, "StartAlarmManager"); var context = BaseContext; _alarmManager = (AlarmManager) context.GetSystemService (Context.AlarmService); _gpsIntent = new Intent (context, typeof (LokTrackerAlarmReceiver)); _pendingIntent = PendingIntent.GetBroadcast (context, 0, _gpsIntent, 0); var prefs = this.GetSharedPreferences ("lok", 0); _intervalMinute = prefs.GetInt ("intervalMenit", 1); _alarmManager.SetRepeating (AlarmType.ElapsedRealtimeWakeup, Android.OS.SystemClock.ElapsedRealtime (), _intervalMinute * 60000, _pendingIntent); }
public NotificationImplementation() { AlarmManager = (AlarmManager)Forms.Context.GetSystemService(Context.AlarmService); PendingIntent = new Dictionary<int, PendingIntent>(); }
public override StartCommandResult OnStartCommand(Android.Content.Intent intent, StartCommandFlags flags, int startId) { DoWork (); manager = (AlarmManager)GetSystemService (AlarmService); int halfMin = 1000 * 15; long triggerAtTime = SystemClock.ElapsedRealtime () + halfMin; Intent i = new Intent (this, typeof(AutoUpDateReceiver)); PendingIntent pi = PendingIntent.GetBroadcast (this, 0, i, 0); manager.Set (AlarmType.ElapsedRealtimeWakeup, triggerAtTime, pi); return base.OnStartCommand (intent, flags, startId); }