gpt4 book ai didi

android - 世博会保存日历事件

转载 作者:行者123 更新时间:2023-11-29 14:12:28 24 4
gpt4 key购买 nike

我正在尝试在 Android 上的 Expo 应用程序中保存日历事件。这是一些代码:

const details = {
endDate: "2018-05-16T20:00:00.000Z",
location: "...",
notes: "...",
startDate: "2018-05-16T19:00:00.000Z",
timeZone: "GMT-7",
title: "...",
url: "http://www..."
};

try {
console.log('Adding Event');

const eventId = await Calendar.createEventAsync(Calendar.DEFAULT, details);

console.log("Event Id", id);
}
catch(error) {
console.log('Error', error);
}

在这种情况下,将记录“添加事件”。但后来什么都没有。没有事件 ID 或错误。而且该事件没有显示在我的日历中。

这是通过 Android 上的 Expo 应用程序运行的。

日历项在 iOS 上完美保存。

我事先要求获得日历权限,所以我认为这不是问题所在。

这里可能出了什么问题?我该如何调试?

最佳答案

如文档中所述,获取默认日历的功能仅在 iOS 设备上可用:

Calendar.getDefaultCalendarAsync() iOS only. Gets an instance of the default calendar object. https://docs.expo.io/versions/latest/sdk/calendar/#calendargetdefaultcalendarasync

在 Android 上,您可以遍历 getCalendarsAsync 的结果,直到找到带有 isPrimary: true 的结果。像这样:

const calendars = await Calendar.getCalendarsAsync();
const calendar = calendars.find(({isPrimary})=>isPrimary);

关于android - 世博会保存日历事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50336625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com