Esempio n. 1
0
        private void SetRepeatingAlarm(ICollection <string> numbers, bool isTest)
        {
            Intent       receiverIntent = new Intent(this, typeof(AlarmReceiver));
            AlarmManager alarmManager   = (AlarmManager)GetSystemService(AlarmService);

            if (isTest)
            {
                PendingIntent pendingIntent = PendingIntent.GetBroadcast(this, 0, receiverIntent, PendingIntentFlags.CancelCurrent);

                int seconds = 5;
                alarmManager.Set(AlarmType.RtcWakeup, JavaSystem.CurrentTimeMillis() + (seconds * 1000), pendingIntent);
                myTextViewOutput.Text = $"Test Alarm set in {seconds} seconds.";
            }
            else
            {
                PendingIntent pendingIntent = PendingIntent.GetBroadcast(this, 1, receiverIntent, PendingIntentFlags.CancelCurrent);

                Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
                calendar.TimeInMillis = (JavaSystem.CurrentTimeMillis());
                calendar.Set(Java.Util.CalendarField.HourOfDay, 9);
                calendar.Set(Java.Util.CalendarField.Minute, 0);
                calendar.Set(Java.Util.CalendarField.Second, 0);

                alarmManager.SetRepeating(AlarmType.RtcWakeup, calendar.TimeInMillis, AlarmManager.IntervalDay, pendingIntent);
                myTextViewOutput.Text = "Repeating daily Alarm set. Begin at: " + calendar.Time.ToString();
            }
        }
Esempio n. 2
0
        void OneShotClick(object sender, EventArgs e)
        {
            // When the alarm goes off, we want to broadcast an Intent to our
            // BroadcastReceiver.  Here we make an Intent with an explicit class
            // name to have our own receiver (which has been published in
            // AndroidManifest.xml) instantiated and called, and then create an
            // IntentSender to have the intent executed as a broadcast.

            int timeHour = Convert.ToInt32(timeselector.Hour);
            int timeMinutes = Convert.ToInt32(timeselector.Minute);

            long q = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

            AlarmManager am = (AlarmManager)GetSystemService(AlarmService);
            Intent oneshotIntent = new Intent(this, typeof(OneShotAlarm));
            PendingIntent source = PendingIntent.GetBroadcast(this, 0, oneshotIntent, 0);

            vibro.Vibrate(500);


            Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
            calendar.Set(CalendarField.HourOfDay, timeHour);
            calendar.Set(CalendarField.Minute, timeMinutes);
            am.Set(AlarmType.RtcWakeup, calendar.TimeInMillis, source);

            // Tell the user about what we did.
            if (repeating != null)
                repeating.Cancel();
            repeating = Toast.MakeText(this, Resource.String.one_shot_scheduled, ToastLength.Long);
            repeating.Show();


        }
Esempio n. 3
0
 public override bool Match(object @object)
 {
     NeoDatis.Odb.Test.VO.School.History s = (NeoDatis.Odb.Test.VO.School.History)@object;
     Java.Util.Calendar c = Java.Util.Calendar.GetInstance();
     c.Set(Java.Util.Calendar.Month, 6);
     c.Set(Java.Util.Calendar.Year, 2005);
     return(s.GetTeacher().GetName().Equals(name) && s.GetDate().Millisecond > (c.GetTime
                                                                                    ().Millisecond));
 }
        public static long GenerateNotifcationTimeStamp(DateTime startDate)
        {
            var schedule = startDate;

            Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
            calendar.Set(Java.Util.CalendarField.HourOfDay, schedule.Hour);
            calendar.Set(Java.Util.CalendarField.Minute, schedule.Minute);
            calendar.Set(Java.Util.CalendarField.Second, 00);
            return(calendar.TimeInMillis);
        }
Esempio n. 5
0
        public void SetAlarm(Context context, int hh, int mm)
        {
            Intent        intent = new Intent(context, this.Class);
            PendingIntent pi     = PendingIntent.GetBroadcast(context, 0, intent, 0);

            Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
            calendar.Set(Java.Util.CalendarField.HourOfDay, hh);
            calendar.Set(Java.Util.CalendarField.Minute, mm);
            calendar.Set(Java.Util.CalendarField.Second, 0);

            AlarmManager am = (AlarmManager)context.GetSystemService(Context.AlarmService);

            am.SetRepeating(AlarmType.RtcWakeup, calendar.TimeInMillis, AlarmManager.IntervalDay, pi);
        }
Esempio n. 6
0
        public void Remind(DateTime dateTime, int ID, Intent alarmIntent)
        {
            PendingIntent pendingIntent = PendingIntent.GetBroadcast(Forms.Context, ID, alarmIntent, PendingIntentFlags.UpdateCurrent);
            AlarmManager  alarmManager  = (AlarmManager)Forms.Context.GetSystemService(Context.AlarmService);

            Java.Util.Calendar cal = Java.Util.Calendar.Instance;
            cal.Set(Java.Util.CalendarField.Month, dateTime.Month);
            cal.Set(Java.Util.CalendarField.DayOfMonth, dateTime.Day);
            cal.Set(Java.Util.CalendarField.HourOfDay, dateTime.Hour);
            cal.Set(Java.Util.CalendarField.Minute, dateTime.Minute);
            cal.Set(Java.Util.CalendarField.Second, dateTime.Second);

            alarmManager.Set(AlarmType.RtcWakeup, cal.TimeInMillis, pendingIntent);
        }
Esempio n. 7
0
        static public void AddAlarmEvent(int seconds = 60)
        {
            DateTime alarmtime = DateTime.Now.AddSeconds(seconds);

            Intent alarmIntent = new Intent(Android.App.Application.Context, typeof(AlarmReceiver));

            PendingIntent pendingIntent = PendingIntent.GetBroadcast(Android.App.Application.Context, AlarmId++, alarmIntent, PendingIntentFlags.UpdateCurrent);
            AlarmManager  alarmManager  = (AlarmManager)Android.App.Application.Context.GetSystemService(Context.AlarmService);

            Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
            calendar.TimeInMillis = Java.Lang.JavaSystem.CurrentTimeMillis();
            calendar.Set(alarmtime.Year, alarmtime.Month - 1, alarmtime.Day, alarmtime.Hour, alarmtime.Minute, alarmtime.Second);

            if (Build.VERSION.SdkInt < Android.OS.BuildVersionCodes.M)
            {
                if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
                {
                    //API 19 이상 API 23미만
                    alarmManager.SetExact(AlarmType.RtcWakeup, calendar.TimeInMillis, pendingIntent);
                }
                else
                {
                    //API 19미만
                    alarmManager.Set(AlarmType.RtcWakeup, calendar.TimeInMillis, pendingIntent);
                }
            }
            else
            {
                //API 23 이상
                alarmManager.SetExactAndAllowWhileIdle(AlarmType.RtcWakeup, calendar.TimeInMillis, pendingIntent);
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            try
            {
                if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
                {
                    Xamarin.Essentials.Platform.Init(this, savedInstanceState);
                    RequestPermissions(Permission, requestID);
                }
            }
            catch { }

            // KẾT NỐI GIỮA TẦNG SPECIFIC VỚI PLC ĐỂ GỌI SPECIFIC Ở PLC
            ContactsAdapterManager.Current        = new ContactsAdapter(this, Application);
            ContactService_AndroidManager.Current = new ContactService_Android(this, Application);
            ToastManager.Current = new ToastDependency(this);
            base.OnCreate(savedInstanceState);
            Rg.Plugins.Popup.Popup.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);



            LoadApplication(new App());

            // LẤY PERMISSION KHI KHỞI ĐỘNG APPS

            long repeatEveryday = (60 * 1000) * 60 * 24; // => run at 2:00 AM every day

            Intent intentAlarm = new Intent(this, typeof(MyReceiver));

            // create the object
            AlarmManager alarmManager = (AlarmManager)GetSystemService(Context.AlarmService);

            // define hours to starts => after 6 PM
            Java.Util.Calendar calendarStart = Java.Util.Calendar.GetInstance(Java.Util.TimeZone.Default);
            calendarStart.Set(Java.Util.CalendarField.HourOfDay, 02);
            calendarStart.Set(Java.Util.CalendarField.Minute, 00);
            calendarStart.Set(Java.Util.CalendarField.Second, 00);

            //
            alarmManager.SetInexactRepeating(AlarmType.RtcWakeup, calendarStart.TimeInMillis, repeatEveryday, PendingIntent.GetBroadcast(this, 1, intentAlarm, PendingIntentFlags.UpdateCurrent));
        }
Esempio n. 9
0
        private long GetTimeDifferenceInMilliseconds(DateTime date)
        {
            Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
            calendar.TimeInMillis = Java.Lang.JavaSystem.CurrentTimeMillis();

            calendar.Set(date.Year, date.Month - 1, date.Day, date.Hour, date.Minute, 0);

            return(calendar.TimeInMillis);
        }
        public void SetAlarm(int hour, int minute, string title, string message)
        {
            Intent myintent = new Intent(Android.App.Application.Context, typeof(AlarmReceiver));

            myintent.PutExtra("message", message);
            myintent.PutExtra("title", title);
            PendingIntent pendingintent = PendingIntent.GetBroadcast(Android.App.Application.Context, 0, myintent, PendingIntentFlags.UpdateCurrent);

            Java.Util.Date     date = new Java.Util.Date();
            Java.Util.Calendar cal  = Java.Util.Calendar.Instance;
            cal.TimeInMillis = Java.Lang.JavaSystem.CurrentTimeMillis();
            cal.Set(Java.Util.CalendarField.HourOfDay, hour);
            cal.Set(Java.Util.CalendarField.Minute, minute);
            cal.Set(Java.Util.CalendarField.Second, 0);

            AlarmManager alarmManager = Android.App.Application.Context.GetSystemService(Android.Content.Context.AlarmService) as AlarmManager;

            alarmManager.Set(AlarmType.RtcWakeup, cal.TimeInMillis, pendingintent);
        }
        public void Remind(string title, string message, DateTime dateTime, string type)
        {
            Intent alarmIntent = new Intent(Forms.Context, typeof(AlarmReceiver));

            alarmIntent.PutExtra("message", message);
            alarmIntent.PutExtra("title", title);

            PendingIntent pendingIntent = PendingIntent.GetBroadcast(Forms.Context, ++counter, alarmIntent, PendingIntentFlags.UpdateCurrent);
            AlarmManager  alarmManager  = (AlarmManager)Forms.Context.GetSystemService(Context.AlarmService);

            var millis     = Convert.ToInt64((DateTime.Now - DateTime.Today.Date).TotalMilliseconds);
            var sampleTime = ManilaTime; //ManilaDay.AddHours(16).AddMinutes(50);

            var triggerOpen  = Convert.ToInt64((MarketOpen - ManilaDay.Date).TotalMilliseconds);
            var triggerClose = Convert.ToInt64((MarketClose - ManilaDay).TotalMilliseconds);

            var intervalDay = AlarmManager.IntervalDay;

            Java.Util.Calendar calendar = Java.Util.Calendar.Instance;

            if (type == "Open")
            {
                calendar.Set(
                    Java.Util.CalendarField.HourOfDay, MarketOpen.Hour);
                calendar.Set(
                    Java.Util.CalendarField.Minute, MarketOpen.Minute);
                alarmManager.SetInexactRepeating(
                    AlarmType.RtcWakeup, calendar.TimeInMillis, intervalDay, pendingIntent);
            }
            else if (type == "Close")
            {
                calendar.Set(
                    Java.Util.CalendarField.HourOfDay, MarketClose.Hour);
                calendar.Set(
                    Java.Util.CalendarField.Minute, MarketClose.Minute);
                alarmManager.SetInexactRepeating(
                    AlarmType.RtcWakeup, calendar.TimeInMillis, intervalDay, pendingIntent);
            }
        }
Esempio n. 12
0
        public static void CheckAlarm(Context context)
        {
            var savedSettings     = Application.Context.GetSharedPreferences("SavedSettings", FileCreationMode.Private);
            var savedSettingsEdit = savedSettings.Edit();
            int hour   = savedSettings.GetInt("hour", 20);
            int minute = savedSettings.GetInt("minute", 30);

            bool alarmUp = (PendingIntent.GetBroadcast(context, 0,
                                                       new Intent(context, typeof(AlarmNotificationReceiver)),
                                                       PendingIntentFlags.NoCreate) != null);
            bool alarmNeedsUpdate = savedSettings.GetBoolean("alarmNeedsUpdate", false);

            AlarmManager  manager = (AlarmManager)context.ApplicationContext.GetSystemService(Context.AlarmService);
            Intent        myIntent;
            PendingIntent pendingIntent;

            myIntent      = new Intent(context, typeof(AlarmNotificationReceiver));
            pendingIntent = PendingIntent.GetBroadcast(context, 0, myIntent, 0);
            if (!alarmUp)
            {
                Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
                calendar.Set(Java.Util.CalendarField.HourOfDay, hour);
                calendar.Set(Java.Util.CalendarField.Minute, minute);
                manager.SetRepeating(AlarmType.RtcWakeup, calendar.TimeInMillis, AlarmManager.IntervalDay, pendingIntent);
            }
            if (alarmNeedsUpdate)
            {
                manager.Cancel(pendingIntent);
                myIntent      = new Intent(context, typeof(AlarmNotificationReceiver));
                pendingIntent = PendingIntent.GetBroadcast(context, 0, myIntent, 0);
                Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
                calendar.Set(Java.Util.CalendarField.HourOfDay, hour);
                calendar.Set(Java.Util.CalendarField.Minute, minute);
                manager.SetRepeating(AlarmType.RtcWakeup, calendar.TimeInMillis, AlarmManager.IntervalDay, pendingIntent);
                savedSettingsEdit.PutBoolean("alarmNeedsUpdate", false);
                savedSettingsEdit.Commit();
            }
        }
Esempio n. 13
0
        public void CreaNotifica(Posizione posizione, DateTime dateTime)
        {
            if (!channelInitialized)
            {
                CreateNotificationChannel();
            }

            Intent intent = new Intent(AndroidApp.Context, typeof(NotificationReceiver));

            intent.PutExtra(TitleKey, CostantiDominio.TITOLO_NOTIFICA);
            intent.PutExtra(MessageKey, CostantiDominio.MESSAGGIO_NOTIFICA);
            intent.PutExtra(IdNotifica, posizione.Id);

            PendingIntent pendingIntent = PendingIntent.GetBroadcast(AndroidApp.Context, pendingIntentId, intent, PendingIntentFlags.OneShot);

            Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
            calendar.Set(Java.Util.CalendarField.HourOfDay, dateTime.Hour);
            calendar.Set(Java.Util.CalendarField.Minute, dateTime.Minute);
            calendar.Set(Java.Util.CalendarField.Second, 0);

            AlarmManager alarmManager = AndroidApp.Context.GetSystemService(Context.AlarmService) as AlarmManager;

            alarmManager.Set(AlarmType.RtcWakeup, calendar.TimeInMillis, pendingIntent);
        }
Esempio n. 14
0
        public void SetAlarm(int hour, int minute, string title, string message, int mode)
        {
            Intent myintent;

            if (mode == 1)
            {
                myintent = new Intent(Android.App.Application.Context, typeof(NotificationAlarmReceiver));
            }
            else
            {
                myintent = new Intent(Android.App.Application.Context, typeof(AlarmReceiver));
            }

            myintent.PutExtra("message", message);
            myintent.PutExtra("title", title);
            int _id = DateTime.Now.Millisecond;

            TimeSpan ts     = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc));
            long     millis = (long)ts.TotalMilliseconds;
            int      i      = (int)millis;

            PendingIntent pendingintent = PendingIntent.GetBroadcast(Android.App.Application.Context, i, myintent, PendingIntentFlags.OneShot);

            Java.Util.Date     date = new Java.Util.Date();
            Java.Util.Calendar cal  = Java.Util.Calendar.Instance;
            cal.TimeInMillis = Java.Lang.JavaSystem.CurrentTimeMillis();
            cal.Set(Java.Util.CalendarField.HourOfDay, hour);
            cal.Set(Java.Util.CalendarField.Minute, minute);
            cal.Set(Java.Util.CalendarField.Second, 0);

            AlarmManager alarmManager = Android.App.Application.Context.GetSystemService(Android.Content.Context.AlarmService) as AlarmManager;

            alarmManager.Set(AlarmType.RtcWakeup, cal.TimeInMillis, pendingintent);

            Toast.MakeText(Android.App.Application.Context, "Alarm Created!", ToastLength.Long).Show();
        }