最近在我的react native workout应用程序中,当应用程序处于后台时,一些android用户无法收到推送通知.我的应用设置为在应用处于后台时,当休息计时器到期时发送计划推送通知.

通过在我的设备(Galaxy Note 21 Ultra,Oneui 6)中运行测试,我发现有时推送通知工作得很好,但有时通知不会到达或晚于预定时间.

我已经找到了一些线索,但还没有找到问题的原因.

以下是我掌握的有关这个问题的信息:

  • 使用react-native-push-notification的localNotificationSchedule API来调度通知(此API似乎使用了Android的AlarmManager类)
  • 似乎正在发生在使用三星Galaxy Models+Oneui 6的用户身上
  • 当通知没有按计划到达时,我通过按应用程序图标打开应用程序,通知就会到达.
  • 当我在主屏幕上时,当通知没有按计划到达时,当我打开通知屏幕时,通知就会到达.

我试图找出为什么会发生这种情况,但失败了.有时通知收到得很好,但有时不会.

有什么我应该寻找的东西来解决这个问题吗?我还能错过什么呢?请帮帮我.非常感谢.

推荐答案

最常见的原因之一是这些设备的省电功能.三星设备有一个名为"应用程序节能"的功能,可以限制后台进程,包括推送通知如果"应用程序节能"功能不是问题,您可以try 使用不同的推送通知库,更好地支持后台执行.一个这样的库是"react-native-firebase",它为后台任务提供了更好的支持.

Android相关问答推荐

使用不同的Google帐户登录

CameraX与jetpack组成屏幕逻辑

Android 14上的慢速意图广播交付

如何阻止Gradle在编译时生成app-metadata.properties

请求标头为空/无法通过拦截器获取

如何将我的Android应用程序(Kotlin)中的图像分享给其他应用程序?

Play Google上发布的一款应用的房间数据库迁移

如何将 Room Persistence 依赖项正确添加到我的 Jetack Compose Android 应用程序

升级到 Jetpack Compose 物料 list 2023.08.00 需要我将 targetSdk 更改为 34

如何在 compose android中将图像覆盖在另一个图像上

为什么 Android Studio 中的 theme.xml 目录没有任何原色

在本地通知中设置自定义声音

Android:使用依赖项 ViewModelProviderFactory 初始化 ViewModel 的正确方法

如何用jetpack compose实现垂直李克特量表

我的观点在jetpack compose中相互重叠

JCenter 是否永久关闭(10 月 31 日)?

Jetpack Compose Alignment - 误解了 alignBy 修饰符

缺少类 com.google.android.datatransport.runtime.ForcedSender

Android Compose:LazyColumn 和 Column with verticalScroll 的区别

WindowManager 内的 RecyclerView 不更新