Javascript 如何打开日历';使用expo的活动创建屏幕?

Javascript 如何打开日历';使用expo的活动创建屏幕?,javascript,react-native,calendar,expo,Javascript,React Native,Calendar,Expo,我尝试了Expo提供的CalendarAPI并创建了一些事件,但当我调用Calendar.createEventAsync(calendarId,details)时,它只是在后台创建事件,用户没有机会自定义它,比如添加一些描述,甚至点击取消按钮并阻止进程。 事实上,我找到了图书馆:它的工作原理与我描述的相同,但它不适用于世博会。 所以我想问,是否有任何方法可以在expo应用程序中实现相同的功能?是的,有,检查此链接,您可以创建一个事件并将其删除,类似于您找到的库,这是一个如何创建事件的小示例 i

我尝试了Expo提供的
Calendar
API并创建了一些事件,但当我调用
Calendar.createEventAsync(calendarId,details)
时,它只是在后台创建事件,用户没有机会自定义它,比如添加一些描述,甚至点击取消按钮并阻止进程。 事实上,我找到了图书馆:它的工作原理与我描述的相同,但它不适用于世博会。
所以我想问,是否有任何方法可以在expo应用程序中实现相同的功能?

是的,有,检查此链接,您可以创建一个事件并将其删除,类似于您找到的库,这是一个如何创建事件的小示例

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)
   }
然后去查看你的手机日历

希望有帮助