Xamarin服务Alarmmanager每周通知

时间:2017-08-08 02:32:09

标签: c# android xamarin service alarmmanager

我的服务和警报管理员有问题。在调试期间,我注意到代码被命中,但我没有在指定的日期和时间收到通知。有了下面的代码,有人可以给我一些信息,说明为什么它不会消失。

        AlarmManager manager = (AlarmManager)GetSystemService(Context.AlarmService);
        Intent managerIntent;
        PendingIntent pendingIntent;

        managerIntent = new Intent(this, typeof(AlarmNotificationReceiver));
        pendingIntent = PendingIntent.GetBroadcast(this, 0, managerIntent, 0);

        //setting Calendar
        Java.Util.Calendar calendar = Java.Util.Calendar.Instance;
        calendar.Set(Java.Util.CalendarField.DayOfWeek, 2);
        calendar.Set(Java.Util.CalendarField.HourOfDay, 14);



        //manager.SetRepeating(AlarmType.RtcWakeup, SystemClock.ElapsedRealtime() + 3000, 60 + 1000, pendingIntent);
        // manager.SetRepeating(AlarmType.ElapsedRealtimeWakeup, SystemClock.ElapsedRealtime() + AlarmManager.IntervalHalfHour, AlarmManager.IntervalHalfHour, pendingIntent);
       // manager.SetRepeating(AlarmType.RtcWakeup, calendar.TimeInMillis, AlarmManager.IntervalHalfHour, pendingIntent);
        manager.SetRepeating(AlarmType.ElapsedRealtimeWakeup, SystemClock.ElapsedRealtime() + calendar.TimeInMillis, AlarmManager.IntervalHalfHour, pendingIntent);

因此,下面注释的代码实际上按预期工作。我测试了它在30分钟和30分钟重复开始的第一次。但是上述未注释的行不适用于在半小时内以及每周特定的日期和时间开始。

// manager.SetRepeating(AlarmType.ElapsedRealtimeWakeup,SystemClock.ElapsedRealtime()+ AlarmManager.IntervalHalfHour,AlarmManager.IntervalHalfHour,pendingIntent);

0 个答案:

没有答案