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;
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #7
0
 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);
 }
Beispiel #8
0
        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);
        }