如果设备的时区已更改,则世博会日历事件会在Android上被删除

时间:2019-12-30 05:49:27

标签: android react-native calendar expo expo-calendar

我最近正在做世博日历。我遇到一个问题,在ANDROID上,每当我创建一个新的日历事件并更改设备的时区时,该事件就会从日历中删除。

这是我的配置:

对于日历:

const newCalendar = {
    title: 'Test',
    entityType: Calendar.EntityTypes.EVENT,
    color: 'red',
    sourceId:
      Platform.OS === 'ios' &&
      calendars.find(
        cal =>
          (cal.source && cal.source.name === CALENDAR_SOURCE_IOS.DEFAULT) ||
          (cal.source && cal.source.name === CALENDAR_SOURCE_IOS.I_CLOUD)
      ).source.id,
    source: Platform.OS === 'android' && {
      name: calendars.find(cal => cal.accessLevel === Calendar.CalendarAccessLevel.OWNER).source
        .name,
      isLocalAccount: true,
    },
    name: 'Test',
    accessLevel: Calendar.CalendarAccessLevel.OWNER,
    ownerAccount:
      Platform.OS === 'android' &&
      calendars.find(cal => cal.accessLevel === Calendar.CalendarAccessLevel.OWNER).ownerAccount,Calendar.CalendarAccessLevel.OWNER).ownerAccount,
    allowsModifications: false,
    isVisible: true,
  }

事件:

const event = {
      title: 'test event',
      startDate: testStartDate,
      endDate: testEndDate,
      location: 'Test location',
      timeZone: Localization.timezone,
      endTimeZone: Localization.timezone,
    }

iOS上更改时区的行为是:事件日期在日历中更新。 (这是预期的行为)。

在Android上:在更改设备的时区时,事件将被删除。

0 个答案:

没有答案