Android创建日历事件始终为生日

斯蒂芬·范·德·拉肖

我有一个奇怪的问题,当我以编程方式创建一个日历事件时,总是将其记为生日日历(类型),但我不知道为什么会这样指出。

我使用的代码如下:Xamarin C#

ContentResolver cr = ((Activity)Forms.Context).ContentResolver;
ContentValues values = new ContentValues();
String eventUriString = "content://com.android.calendar/events";

//Insert Events in the calendar...
values.Put(CalendarContract.Events.InterfaceConsts.CalendarId, 1);
values.Put(CalendarContract.Events.InterfaceConsts.Title, title);
values.Put(CalendarContract.Events.InterfaceConsts.Status, 1);
values.Put(CalendarContract.Events.InterfaceConsts.Description, description);
values.Put(CalendarContract.Events.InterfaceConsts.Dtstart, GetDateTimeMS(year, month, day, hour, minute));
values.Put(CalendarContract.Events.InterfaceConsts.Dtend, GetDateTimeMS(year, month, day, hour, minute));
values.Put(CalendarContract.Events.InterfaceConsts.AllDay, allday ? "1" : "0");
values.Put(CalendarContract.Events.InterfaceConsts.HasAlarm, hasalarm ? "1" : "0");
values.Put(CalendarContract.Events.InterfaceConsts.EventColor, Android.Graphics.Color.Green);
values.Put(CalendarContract.Events.InterfaceConsts.EventTimezone, "GMT+" + zone + ":00");
values.Put(CalendarContract.Events.InterfaceConsts.EventEndTimezone, "GMT+" + zone + ":00");
cr.Insert(Android.Net.Uri.Parse(eventUriString), values);

请问有人有什么提示或想法可以指引我正确的方向吗?

提前致谢。

赫曼·帕玛(Hemant Parmar)

下面回答的问题是旧的,请参考Pkosta的答案,它提供了更准确的答案...

您必须将CalendarId值设置为3,而不是默认的生日日历1。例如

 values.Put(CalendarContract.Events.InterfaceConsts.CalendarId, 1);

更改为

values.Put(CalendarContract.Events.InterfaceConsts.CalendarId, 3);

它为我解决了同样的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章