gpt4 book ai didi

javascript - 如何使用expo打开日历的事件创建屏幕?

转载 作者:行者123 更新时间:2023-11-28 03:32:27 28 4
gpt4 key购买 nike

我尝试了Expo提供的Calendar API并创建了一些事件,但是当我调用Calendar.createEventAsync(calendarId, details)时,它只是在后台创建了事件用户没有机会对其进行自定义,例如添加一些描述,甚至单击取消按钮并阻止该过程。 enter image description here实际上我找到了这个库:https://www.npmjs.com/package/react-native-add-calendar-event其工作方式与我描述的相同,但不适用于 Expo。所以我想问是否有什么方法可以在博览会应用程序中实现相同的功能?

最佳答案

是的,有,请查看此链接 expo calendar api ,您可以创建一个事件并删除它,类似于您找到的库,这是一个如何创建事件的小示例

import * as Calendar from "expo-calendar"
import * as Permissions from "expo-permissions"

之后,您将询问用户是否允许应用程序访问手机日历

const [granted, setGranted] = useState(false)
const [eventIdInCalendar, setEventIdInCalendar] = useState("")

const openCalendarRequest = async () => {
const {status} = await Permissions.askAsync(Permissions.CALENDAR)
if (status === "granted") {
setGranted(true)
}
}

useEffect(()=>{
openCalenarRequest() // Ask for Premission to access phone calendar
},[])
const eventDetails = {
'Event Title',
startDate: new Date('2019-12-14 07:00'),
endDate: new Date('2019-12-14 15:00'),
}

const addEventToCalendar = async eventDetails => {
const eventIdInCalendar = await Calendar.createEventAsync("1",eventDetails)
Calendar.openEventInCalendar(eventIdInCalendar)// that will give the user the ability to access the event in phone calendar
setEventIdInCalendar(eventIdInCalendar)
}

然后去查看你的手机日历

希望有帮助。

关于javascript - 如何使用expo打开日历的事件创建屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58051804/

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