大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述如何为Xamarin.Android AlarmManager设置准确的时间相关的知识,希望能为你提供帮助。
我在Xamarin.android应用程序中的特定时间设置本地通知。一切正常,但设定时间似乎很少,设定时间来自用户输入(精确度很高)。在将来(几天后)进一步设置通知时,通知会在下一分钟触发,而不是应该具有的通知。
下面是我目前计算时间的代码。 calendarEvent.StartTime是DateTime属性。
TimeSpan span = calendarEvent.StartTime - DateTime.Now;
manager.Set(AlarmType.ElapsedRealtime,(long)(SystemClock.ElapsedRealtime() + span.TotalMilliseconds),pendingIntent);
【如何为Xamarin.Android AlarmManager设置准确的时间】我想知道如何准确计算时间,以便通知在他们应该的开始时点火。在当前的代码中,它们会在分钟中或之后触发。
答案如果您确实需要精度,请尝试使用警报管理器类的SetExact()方法。
TimeSpan span = calendarEvent.StartTime - DateTime.Now;
manager.SetExact(AlarmType.ElapsedRealtime,(long)(SystemClock.ElapsedRealtime() + span.TotalMilliseconds),pendingIntent);
我不知道它是否相关,但是如果您使用日历事件可能应该使用RTC,因为AlarmType.RTC基于时钟,而AlarmType.ElapsedRealTime基于自设备以来经过的时间打开。
推荐阅读
- AutoMapper(4.2+)Profile是逻辑还是基础设施的一部分()
- 如何在app小部件中使用ListView并在android中填充数据()
- listView根本没有出现。安卓
- ü“ü土耳其人物在Android上投射
- Android XML解析listview
- Android(以编程方式突出显示listview中的当前选定选项)
- ListView崩溃。不工作的应用程序Android Studio模拟器
- 滚动时,Android Listview重置更改
- 专业人士的Git工作流程(良好的Git指南)