Xamarin Android无法设置新事件的日期

威廉·博尔戈(William Borgo)

我可以在日历中创建一个新的事件,但无法设置事件的日期时间。我可以设置位置,标题,描述等。

调试时,我可以正确地看到变量dtStart和dtEnd(进行测试,我使用的字符串为“ 15/05/2016 15:00:00”,格式为dd / MM / yyyy hh:mm:ss-巴西模式)

感谢您的帮助!

btnAdicionarAgenda.Click += delegate
        {
            Intent calIntent = new Intent(Intent.ActionInsert);
            calIntent.SetData(CalendarContract.Events.ContentUri);
            calIntent.SetType("vnd.android.cursor.item/event");
            calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.Title, calendarTitle);
            calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.Description, calendarDescription);

            DateTime dtStart = DateTime.ParseExact(retNotificacao.get("dt_evento"), "dd/MM/yyyy HH:mm:ss",
                                   System.Globalization.CultureInfo.InvariantCulture);
            DateTime dtEnd = dtStart.AddHours(1);

            long lDtStart = Utils.GetDateTimeMS(dtStart.Year, dtStart.Month, dtStart.Day, dtStart.Hour, dtStart.Minute);
            long lDtEnd = Utils.GetDateTimeMS(dtEnd.Year, dtEnd.Month, dtEnd.Day, dtEnd.Hour, dtEnd.Minute);

            calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.Dtstart, lDtStart);
            calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.Dtend, lDtEnd);

            calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.EventTimezone, "UTC");
            calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.EventEndTimezone, "UTC");
            calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.EventLocation, Session.nmEscolaAluno);



            StartActivity(calIntent);
        };

Utils.cs:

public static long GetDateTimeMS(int yr, int month, int day, int hr, int min)
    {
        Calendar c = Calendar.GetInstance(Java.Util.TimeZone.Default);

        c.Set(Calendar.DayOfMonth, day);
        c.Set(Calendar.HourOfDay, hr);
        c.Set(Calendar.Minute, min);
        c.Set(Calendar.Month, month);
        c.Set(Calendar.Year, yr);

        return c.TimeInMillis;
    }
寿司宿醉

不要使用DtstartDtend,发布的文档和示例(Google和Xamarin的)都是错误的

字符串常量应为“ EXTRA_EVENT_BEGIN_TIME”和“ EXTRA_EVENT_END_TIME”。

改变:

calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.Dtstart, lDtStart);    
calIntent.PutExtra(CalendarContract.Events.InterfaceConsts.Dtend, lDtEnd);

至:

calIntent.PutExtra(CalendarContract.ExtraEventBeginTime, lDtStart);
calIntent.PutExtra(CalendarContract.ExtraEventEndTime, lDtEnd);

“ 15/05/2016 15:00:00”的结果(加一小时):

  • 开始毫秒:1466028054652
  • 结束毫秒:1466031654659

创建的事件的屏幕截图:

在此处输入图片说明

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法设置Xamarin Android CalendarView的样式

来自分类Dev

无法看到Xamarin洞察事件

来自分类Dev

Microsoft Graph:无法更新事件的开始或结束日期

来自分类Dev

设置Android视图的样式-Xamarin

来自分类Dev

Visual Studio(xamarin),无法将项目类型设置为 Android

来自分类Dev

Android Xamarin:无法使用ActionBarActivity

来自分类Dev

Xamarin.Android:无法调试

来自分类Dev

无法构建 xamarin android 项目

来自分类Dev

Xamarin右键事件

来自分类Dev

Listview Itemclick事件未触发android xamarin

来自分类Dev

Xamarin android C#ScrollView OnScrollChanged事件

来自分类Dev

Xamarin Android WebView KeyUp和KeyDown事件

来自分类Dev

TreeView 中的事件处理(Xamarin android)

来自分类Dev

Xamarin:设置UITextField的高度

来自分类Dev

Xamarin项目设置

来自分类Dev

Xamarin设置EntryCell的绑定

来自分类Dev

无法在Xamarin中设置SwitchCell的绑定

来自分类Dev

我无法在 xamarin 中设置多个亲戚

来自分类Dev

Xamarin.Forms或Xamarin.Android/Xamarin.IOS

来自分类Dev

无法从Xamarin.Build.Download加载Xamarin Android XamarinBuildAndroidAarRestore任务

来自分类Dev

在Xamarin Android中更改日期格式

来自分类Dev

在Xamarin Android中更改日期格式

来自分类Dev

Xamarin iOS无法安装

来自分类Dev

无法启动Repl()(Xamarin)

来自分类Dev

无法建立Xamarin专案

来自分类Dev

Xamarin无法解析DialogViewController

来自分类Dev

无法构建 Xamarin 项目

来自分类Dev

Xamarin.Android与Android

来自分类Dev

如何在 xamarin android 中使用 DateTime 对象为特定日期和时间设置警报?