【问题标题】:ios play continues sound when app receive push notification当应用程序收到推送通知时,ios播放继续声音
【发布时间】:2015-05-05 00:45:55
【问题描述】:

目前我正在开发应用程序,当应用程序收到推送通知时,我想在其中播放继续声音。据我所知,苹果允许播放长度为 30 秒的自定义声音,这里是 link..

但在众所周知的应用程序中,当应用程序处于后台并且驱动程序收到命令时,它会在驱动程序端播放持续声音。

另一个问题是我的应用程序何时处于后台并接收推送通知 如果我通过按应用程序图标打开应用程序而不是单击通知,它不会向我显示推送数据。按下应用程序图标时无法加载数据这里是链接

iOS Push notification issue

但同样的事情在知名应用程序中完成

【问题讨论】:

  • 我想在我的应用中实现这两个功能..

标签: ios apple-push-notifications


【解决方案1】:

在 iOS 7+ 中,使用 application:didReceiveRemoteNotification:fetchCompletionHandler:,即使您的应用在后台也会调用。如果您的应用程序尚未运行,iOS 甚至会在后台启动它,但如果用户强制退出该应用程序,它将不会重新启动。如果您启用remote-notification 后台模式,您可以在通知到达时运行应用程序代码。如果您包含audio 后台模式,您可以在应用程序处于后台时启动继续播放的声音。

对于第二个问题,通常情况下,如果应用直接启动,则应向服务器查询更新。但是,您可以利用上述远程通知,大多数情况下都会收到通知(除非应用程序被强制退出)。

【讨论】:

  • 我已经实现了 application:didReceiveRemoteNotification:fetchCompletionHandler: 但是当应用程序打开时没有调用应用程序图标并且已经有推送通知。它直接调用 applicationDidBecomeActive 方法..
  • 不,当您使用应用程序图标打开应用程序时没有任何发送,但如果您使用application:didReceiveRemoteNotification:fetchCompletionHandler:,您应该已经收到并处理了通知,除非应用程序被强制退出。如果这不符合您的需求,请执行标准方法,即查询服务器。
  • 您是否有示例代码/演示用于在应用程序处于后台时处理推送,其中调用了 application:didReceiveRemoteNotification:fetchCompletionHandler: 方法?我会用我的代码交叉检查它。因为我不能使用查询服务器方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-20
  • 2019-09-02
相关资源
最近更新 更多