Tag: alarmmanager

安排警报管理器每周四运行一个方法

例如,我希望每周四中午12点发出警报我该怎么做? 我有一些实施,但没有正常工作,我的代码,今天是星期三15,如果将手机的日期更改为16星期四,该应用程序没有做任何事情,如果我在下周三更改手机的日期22电话发送通知,但只应在星期四发送。 这是我的代码: 主要活动: protected override void OnCreate(Bundle bundle) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(bundle); AsNumAssemblyHelper.HoldAssembly(); global::Xamarin.Forms.Forms.Init(this, bundle); ImageCircleRenderer.Init(); Intent alarmIntent = new Intent(this, typeof(AlarmReceiver)); PendingIntent pending = PendingIntent.GetBroadcast(this, 0, alarmIntent, PendingIntentFlags.UpdateCurrent); AlarmManager alarmManager = GetSystemService(AlarmService).JavaCast(); //AlarmType.RtcWakeup – it will fire up the pending intent at a specified time, waking up the device […]

警报每次打开应用程序时都会关闭

我无法弄清楚为什么每当我打开我的应用程序时,我的通知设置为关闭闹钟就会被取消。 我只在特定的日期和时间设置日历。 不仅是我的闹钟在日历的指定时间和星期几甚至没有响起。 我的闹钟甚至需要服务吗? 我试图确保即使应用程序关闭也会关闭。 下面的代码(MyService)在MainActivity onCreate()中调用。 [Service] public class MyService : Service { //const int NOTIFICATION_ID = 9000; public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId) { SetAlarm(); return StartCommandResult.Sticky; } private void SetAlarm() { //setting Calendar Java.Util.Calendar calendar = Java.Util.Calendar.Instance; calendar.Set(Java.Util.CalendarField.DayOfWeek, 1); calendar.Set(Java.Util.CalendarField.HourOfDay, 02); calendar.Set(Java.Util.CalendarField.Minute, 15); AlarmManager manager = (AlarmManager)GetSystemService(Context.AlarmService); Intent managerIntent; […]

Xamarin Android Alarm Manager问题

我的Xamarin Android应用程序中有一个AlarmManager 。 我使用SetExact()以5分钟的时间配置它。 但它只在五秒后开始。 无论我何时配置它,它总是在5秒后触发。 我在Java中使用了完全相同的代码,它工作得很好。 代码: [BroadcastReceiver] public class AlarmReceiver : BroadcastReceiver { public override void OnReceive(Context context, Intent intent) { Log.Info(“AlarmReceiver”, “Triggered”); } public static void Start(Context context, long triggerAfterMilis) { var type = AlarmType.RtcWakeup; var alarmManager = (AlarmManager) context.GetSystemService(Context.AlarmService); var timerIntent = PendingIntent.GetBroadcast(context, 0, new Intent(context, typeof(AlarmReceiver)), PendingIntentFlags.CancelCurrent); alarmManager.Cancel(timerIntent); if (Build.VERSION.SdkInt […]