【问题标题】:iOS post data in background after user selects notification action用户选择通知操作后,iOS 在后台发布数据
【发布时间】:2021-10-18 03:25:32
【问题描述】:

我正在开发一个 Expo(React-Native)应用程序,并试图弄清楚我是否遇到了 Expo 或 iOS 的限制。我正在发送带有操作的推送通知,并尝试接收用户选择的操作并将其上传到服务器,同时将应用程序保持在后台。目前,我能够在后台接收用户的操作,但我的帖子在我再次将应用程序置于前台之前不会执行。

我查看了有关处理推送通知操作的 iOS 文档,除了设备锁定时的文件系统访问权限外,没有看到任何有关限制的信息。这需要background-fetchremote-notifications 吗?两者都不是真正适用的,因为这是用户激活的操作,而不是一些自动获取或静默通知。

我设置了一个 Glitch & a Snack 来演示这个问题。 https://snack.expo.dev/@thefinnomenon/14004

https://glitch.com/edit/#!/destiny-abundant-cord?path=README.md%3A1%3A0

【问题讨论】:

    标签: ios react-native push-notification expo


    【解决方案1】:

    我目前正在经历同样的行为。您可以通过在注册UNNotificationAction 时指定UNNotificationActionOptionForeground 来在选择操作时强制应用程序进入前台,但我还没有找到一种方法来处理后台与服务器通信的通知操作。

    你找到更好的解决方案了吗?

    更新:我自己发现了一个更好的解决方案。必须满足以下条件才能使其工作。

    1. 必须始终调用完成处理程序。
    2. 必须在从服务器收到结果后调用完成处理程序。
    3. 完成处理程序只能在主线程上调用。

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多