UILocalNotification - 打开应用程序后警报声继续播放

时间:2013-11-29 10:39:38

标签: ios iphone objective-c notifications uilocalnotification

一旦用户从锁定屏幕打开应用程序(滑动推送警报 - 应用程序处于后台模式),通知声音将继续播放。

如果用户从主屏幕打开应用程序(点击推送提醒 - 应用程序处于后台模式),通知声音将按预期停止。

请告知,如何在第一个描述的场景中停止推送警报声。

感谢。

附表

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.fireDate = [calendar dateFromComponents:components];
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.alertBody = @"GET THE FLOCK UP!";
localNotif.repeatInterval = 0;
localNotif.hasAction = YES;
localNotif.alertAction = @"GET UP";
localNotif.soundName = @"snooze_wake_push.aif";
localNotif.applicationIconBadgeNumber = 1;
[app scheduleLocalNotification:localNotif];

在app delegate中处理

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];

}

2 个答案:

答案 0 :(得分:0)

不确定,但99%是不可能的,因为它是Apple的内置功能,所以最好的方法是停止与它斗争。并且可能是这个问题只发生在模拟器中而不是真实设备中首先检查真实设备。

答案 1 :(得分:0)

我可以在iOS 7上用iPhone和iPad可靠地重复这个问题。

没有程序化的解决方法,但如果您按音量调高或调低按钮,则会停止通知声音。

我已经为用户提供了上述解决方法的提示。