应用程序已在运行时静音本地通知声音

时间:2012-08-05 11:50:01

标签: iphone objective-c ios xcode cocoa

我正在处理警报应用程序。当应用程序在后台时,本地通知会通知用户警报响铃并播放声音。但是当应用程序已经处于前台时,我不希望播放通知声音,而是自定义声音。我无法找到如何静音通知声音,因此两个声音同时播放。有什么想法吗?

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

1 个答案:

答案 0 :(得分:3)

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

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

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

来自documentation on UILocalNotification

  

如果应用程序是最重要的,并且在系统交付时可见   通知,没有显示警报,没有图标标记,没有声音   玩过的。但是,应用程序:didReceiveLocalNotification:是   如果应用程序委托实现它,则调用它。该   UILocalNotification实例传递给这个方法,并且   委托可以检查其属性或访问来自的任何自定义数据   userInfo字典。