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(); } }
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(); }
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); }
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); }
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); }
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)); }
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); } }
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(); } }
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); }
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(); }