0

我正在开发一个警报应用程序。当应用程序在后台时,本地通知会通知用户警报正在响起并播放声音。但是当应用程序已经在前台时,我不希望播放通知声音,而是播放自定义声音。我找不到如何使通知声音静音,因此两种声音同时播放。有任何想法吗?

更新:我重新启动了我的设备,问题解决了。这可能是一个iOS错误。

4

1 回答 1

3

当您的应用程序打开并在前台运行时,默认行为是不播放声音并且用户不会收到来自操作系统的任何警报/横幅。您可以通过以下方法接收通知(在您的 AppDelegate 类中):

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    NSLog(@"Do something");
}

从那里你可以触发任何其他方法。

UILocalNotification 的文档中

如果在系统传递通知时应用程序处于最前面且可见,则不会显示警报,不会标记图标,也不会播放声音。但是,如果应用程序委托实现了 application:didReceiveLocalNotification: ,则会调用它。UILocalNotification 实例被传递到此方法中,并且委托可以检查其属性或访问 userInfo 字典中的任何自定义数据。

于 2012-08-05T12:14:01.350 回答