javascript - Calendar.createEventAsync 仅在 Android 博览会上崩溃

标签 javascript android reactjs react-native expo

我正在尝试将事件添加到设备的日历中,在 iOS 上它运行完美,但在 Android 上,应用程序崩溃并且出现此错误。

    22956/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #6
   Process: …., PID: 22713
   java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer
       at expo.modules.calendar.CalendarModule.createRemindersForEvent(CalendarModule.java:869)
       at expo.modules.calendar.CalendarModule.saveEvent(CalendarModule.java:751)
       at expo.modules.calendar.CalendarModule.access$500(CalendarModule.java:34)
       at expo.modules.calendar.CalendarModule$6.run(CalendarModule.java:161)
       at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:257)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
       at java.lang.Thread.run(Thread.java:784)” 

这是我的代码:

   let isoFormattedStartDate = moment(event.eventStartDate).toISOString();
let isoFormattedEndDate = moment(event.eventEndDate).toISOString();

Calendar.createEventAsync(Calendar.DEFAULT, {
  title: name,
  startDate: isoFormattedStartDate,
  endDate: isoFormattedEndDate,
  location: location,
  timeZone: "GMT+1",
  alarms: [{relativeOffset: -1}, {relativeOffset: -1440}]
})
  .then((event) => {
    console.log("Calendar.createEventAsync success: ", event);
    Alert.alert("Added To Calendar");
  })
  .catch((error) => {
    console.log("Calendar.createEventAsync failure: ", error);
  });

Package.json

"dependencies": {
"expo": "33.0.7",
"expo-calendar": "~5.0.1",
"expo-cli": "^2.19.5",
 "react-native": "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz",

... },

我不知道为什么它只在 Android 上崩溃。任何帮助将不胜感激!谢谢

最佳答案

修复就在这里。

https://github.com/expo/expo/pull/5134

我们预计会在 expo SDk 35 中修复该问题。

关于javascript - Calendar.createEventAsync 仅在 Android 博览会上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56821645/

相关文章:

javascript -\z JavaScript 正则表达式中等效的 PCRE 以匹配所有 Markdown 列表项

javascript - Node js将变量传递给请求回调函数

android - Google MLKit 能识别同一张脸吗?

java - Android ListActivity 行颜色基于对象状态

javascript - React 中如何让父组件管理子组件的状态?

javascript - 将第 3 方 JS 文件导入 Angular 组件

php - 在 GET ajax 调用中传递 HEX 颜色

android - Android Gradle在编译时识别当前的错误

javascript - 为什么 React 在设置状态为相同值后会第二次渲染组件?

css - 容器问题 - React 和样式化组件