2
我試圖添加日曆事件,但是開始和結束時間被忽略,相反它只是設置從現在開始的下半個小時。例如,現在是3:51 pm,因此它將開始/結束時間設置爲下午4:00。將事件添加到日曆不尊重時間
這裏是添加事件日曆代碼:
public static void AddToCalendar (DateTime startDate, DateTime endDate, string title,
string description = null, string location = null) {
var startDateTicks = DateTime.Now.AddHours (3).ConvertToUnixTimestampMillis();
var endDateTicks = DateTime.Now.AddDays (2).AddHours(2).ConvertToUnixTimestampMillis();
var intent = new Intent (Intent.ActionInsert);
intent.SetData (CalendarContract.Events.ContentUri);
//intent.PutExtra (CalendarContract.Events.InterfaceConsts.Dtstart, startDateTicks);
//intent.PutExtra (CalendarContract.Events.InterfaceConsts.Dtend, endDateTicks);
intent.PutExtra (CalendarContract.ExtraEventBeginTime, startDateTicks);
intent.PutExtra (CalendarContract.ExtraEventEndTime, endDateTicks);
intent.PutExtra (CalendarContract.EventsColumns.Title, title);
if (!String.IsNullOrEmpty (description))
intent.PutExtra (CalendarContract.EventsColumns.Description, description);
if (!String.IsNullOrEmpty (location))
intent.PutExtra (CalendarContract.EventsColumns.EventLocation, location);
ApplicationContext.Activity.StartActivity (intent);
}
,這裏是用於轉換日期以毫秒爲單位的擴展方法:
public static double ConvertToUnixTimestampMillis (this DateTime date) {
var epoch = new DateTime (1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return (long)(date.ToUniversalTime() - epoch).TotalMilliseconds;
}
下面是日曆事件。
我試着設置都爲dtstart/DTEND和BEGINTIME和結束時間。那麼我錯過了什麼?