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