Читатели хорошего дня, Я пытаюсь использовать метод, который предназначен для андроида, как я могу сделать ContentPage активностью android в PCL, возможно ли это?Специфичный для платформы код Xamarin.Forms
Пробовал с директивами, но его также не работает
public static void AddEvent(GSDEvents ev, Activity ac)
{
// Id++;
Calendar cal = Calendar.GetInstance(Java.Util.TimeZone.Default, Locale.Default);
ContentValues eventValues = new ContentValues();
eventValues.Put(CalendarContract.Events.InterfaceConsts.CalendarId, Id);
eventValues.Put(CalendarContract.Events.InterfaceConsts.Title, ev.Title);
eventValues.Put(CalendarContract.Events.InterfaceConsts.Description, ev.Description);
eventValues.Put(CalendarContract.Events.InterfaceConsts.Dtstart, GetDateTimeMS(ev.Year, ev.Month, ev.Day, ev.Hour, ev.Minute));
eventValues.Put(CalendarContract.Events.InterfaceConsts.Dtend, GetDateTimeMS(ev.Year, ev.Month, ev.Day, ev.Hour, ev.Minute));
eventValues.Put(CalendarContract.Events.InterfaceConsts.AllDay, ev.AllDay ? "1" : "0");
eventValues.Put(CalendarContract.Events.InterfaceConsts.HasAlarm, ev.HasAlarm ? "1" : "0");
eventValues.Put(CalendarContract.Events.InterfaceConsts.EventTimezone, "GMT+1:00");
eventValues.Put(CalendarContract.Events.InterfaceConsts.EventEndTimezone, "GMT+1:00");
var uriCalendar = ac.ContentResolver.Insert(CalendarContract.Events.ContentUri, eventValues);
ContentValues remindervalues = new ContentValues();
remindervalues.Put(CalendarContract.Reminders.InterfaceConsts.Minutes, ev.ReminderMinute);
remindervalues.Put(CalendarContract.Reminders.InterfaceConsts.EventId, Id);
remindervalues.Put(CalendarContract.Reminders.InterfaceConsts.Method, (int)Android.Provider.RemindersMethod.Alert);
var uriCalendarReminder = ac.ContentResolver.Insert(CalendarContract.Reminders.ContentUri, remindervalues);
}
в моем contentpage
#if __ANDROID__
GSDEvents ev = new GSDEvents();
ev.Title = "Test Event";
ev.Description = "Dit is nog een test van de beschrijving";
GSDEvents.AddEvent(ev, __THEPROBLEM HOW CAN I GET THE ACTIVITY);
#endif
кто-то знает, как добиться этого я работаю в PCL Надежда кто-то может мне точку вправо направление.
С наилучшими пожеланиями, Стефан
Почему вы хотите, чтобы бросить его в 'Activity'? Идея заключается в том, что у вас есть «Страницы», которые оптимизированы для межплатформенного использования. Если вам все еще нужен этот взгляд на метод 'Device.OnPlatform'. В противном случае, пожалуйста, предоставьте немного больше фона, чтобы мы могли предоставить вам полезный ответ. –
Will do отредактирует этот пост –
Я до сих пор не понимаю, что вы пытаетесь сделать. Но из того, что вы публикуете, похоже, что вы не должны этого делать. Лучше всего посмотреть на «DependencyService», который я описываю здесь в своем блоге; http://l.verslu.is/1JbkZ9Q. Также ознакомьтесь с элементом управления календарем XLabs, если вам нужен кросс-платформенный календарь https://github.com/XLabs/Xamarin-Forms-Labs/wiki/Calendar-Control –