You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo集成react-native-alarm-notification调用scheduleAlarm报null错误如何解决

报错解决方案:react-native-alarm-notification调用scheduleAlarm报null对象错误

你遇到的报错本质是react-native-alarm-notification原生模块未成功链接到项目运行环境,你看到的错误抛在regenerator-runtime层只是因为async异步调用的错误栈向上传递,并非runtime本身存在问题,你之前尝试的补全参数、调整日期等操作都无法解决问题,因为故障根源和参数配置无关。


可选解决方案

方案1:继续使用react-native-alarm-notification

这个库是原生依赖库,不支持Expo Go默认开发环境,需要构建自定义Expo开发客户端才能正常运行:

  • 第一步:执行命令生成原生工程目录:npx expo prebuild
  • 第二步:补充原生权限配置
    安卓端需要在android/app/src/main/AndroidManifest.xml中添加闹钟、通知相关权限:
    <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
  • 第三步:修复代码中的参数错误:small_icon不能传入相对路径,需要将图标放到安卓原生资源目录android/app/src/main/res/drawable下,参数值直接传文件名不带后缀,比如图标是ic_notification.png就填"ic_notification"
  • 第四步:不要使用Expo Go运行,执行命令编译运行自定义客户端:
    • 安卓:npx expo run:android
    • iOS:npx expo run:ios

方案2:更换为Expo官方原生支持的通知库(更推荐)

无需处理原生链接和配置,直接使用expo-notifications即可实现定时通知/闹钟调度能力,完全适配所有Expo版本:

  • 安装命令:npx expo install expo-notifications
  • 只需要在代码中申请通知权限后,调用scheduleNotificationAsync方法即可实现定时通知,和你当前的需求完全匹配

内容的提问来源于stack exchange,提问作者RedRoach51

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:15:03