【发布时间】:2012-08-05 11:50:01
【问题描述】:
我正在开发一个警报应用程序。当应用程序在后台时,本地通知会通知用户警报正在响起并播放声音。但是当应用程序已经在前台时,我不希望播放通知声音,而是播放自定义声音。我找不到如何使通知声音静音,因此两种声音同时播放。有什么想法吗?
更新:我重启了我的设备,问题就解决了。这可能是一个 iOS 错误。
【问题讨论】:
标签: iphone objective-c ios xcode cocoa
我正在开发一个警报应用程序。当应用程序在后台时,本地通知会通知用户警报正在响起并播放声音。但是当应用程序已经在前台时,我不希望播放通知声音,而是播放自定义声音。我找不到如何使通知声音静音,因此两种声音同时播放。有什么想法吗?
更新:我重启了我的设备,问题就解决了。这可能是一个 iOS 错误。
【问题讨论】:
标签: iphone objective-c ios xcode cocoa
当您的应用打开并在前台运行时,默认行为是不播放声音,并且用户不会收到来自操作系统的任何警报/横幅。您可以通过以下方法接收通知(在您的 AppDelegate 类中):
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
NSLog(@"Do something");
}
你可以从那里触发任何其他方法。
来自documentation on UILocalNotification:
如果应用程序在系统交付时最重要且可见 通知,不显示警报,没有标记图标,也没有声音 玩过的。但是, application:didReceiveLocalNotification: 是 如果应用程序委托实现它,则调用它。这 UILocalNotification 实例被传递到这个方法中,并且 委托可以检查其属性或从 用户信息字典。
【讨论】: