我正在处理警报应用程序。当应用程序在后台时,本地通知会通知用户警报响铃并播放声音。但是当应用程序已经处于前台时,我不希望播放通知声音,而是自定义声音。我无法找到如何静音通知声音,因此两个声音同时播放。有什么想法吗?
更新:我重启了设备,问题解决了。它可能是一个iOS错误。
答案 0 :(得分:3)
当您的应用程序在前台打开并运行时,默认行为是声音未播放且用户未从操作系统接收任何警报/横幅。您可以通过以下方法(在您的AppDelegate类中)接收通知:
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
NSLog(@"Do something");
}
从那里你可以触发任何其他方法。
来自documentation on UILocalNotification:
如果应用程序是最重要的,并且在系统交付时可见 通知,没有显示警报,没有图标标记,没有声音 玩过的。但是,应用程序:didReceiveLocalNotification:是 如果应用程序委托实现它,则调用它。该 UILocalNotification实例传递给这个方法,并且 委托可以检查其属性或访问来自的任何自定义数据 userInfo字典。