iOS 本地推送通知如何在静音模式下播放声音?

6
我目前正在开发一个iOS项目,需要向用户发送一条带有声音的本地推送通知。问题是,我希望即使设备被静音或处于静音模式下,声音仍然可以播放,但我不确定这是否可能。
已经有一些类似的问题,但没有一个成功回答像这个问题:iPhone - 是否可能通过推送通知覆盖静音模式或具有递归警报声音? 免责声明:我理解这不是应用程序的理想功能,并且可能导致应用商店拒绝。

1
你对这个问题有什么进展吗?我也在寻找解决方案。 - Tuyen Nguyen
没有,我认为这几乎是不可能的。 - Alex Grinman
1个回答

2

我在搜索推送通知相关的内容时发现了这个问题。

当接收到推送通知时,您可以通过监听推送通知并在应用程序内开始播放声音来实现它。

1)对于iOS7及以上版本,您可以使用此方法即使用户不打开应用程序也能获取推送通知。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;

2) 在方法内部,您可以让您的应用程序开始播放声音文件。您可能需要额外的工作来配置AVAudioSession,以使您的声音在设备处于静音模式时也能播放。您可以查看文档获取更多详细信息 - 这需要一些时间来适当地处理音频.. 您必须考虑其他应用程序已经播放声音或从不同通道(例如扬声器,耳机等)输出声音的情况。


2
很不幸,当用户通过从应用切换器向上滑动应用程序来强制关闭应用时,这种方法无法工作。该方法不会被调用。 - Elad Nava
这是一种有趣的方法,也是我认为可用的最佳选项,即使它并不完全符合原始问题所要求的行为。 - woody121

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接