小编Pha*_*013的帖子

当通过在警报上滑动将应用程序置于前台时,UILocalNotification不会停止声音

当我的应用程序在后台收到网络消息时,它会创建一个带声音的UILocalNotification并调用presentLocalNotificationNow.

    UILocalNotification* localNotif = [[UILocalNotification alloc] init];
    localNotif.alertBody = [NSString stringWithFormat:@"%@: \r%@ \r%@", NSLocalizedString(@"XXXXXXXXXXX", nil), XXXXX, XXXXXXXXXXX];
    localNotif.alertAction = NSLocalizedString(@"View", nil);

    localNotif.soundName = [NSString stringWithFormat:@"%@.%@", XXXXTONE_LONGVERSION_FILENAME, XXXXTONE_FILENAME_EXT];
    [[UIApplication sharedInstance] presentLocalNotificationNow:localNotif];
    [localNotif release];
Run Code Online (Sandbox Code Playgroud)

此警报显示为预期的声音.但在某些情况下我无法停止声音.

1)当屏幕锁定并显示此本地通知警报时:

  • 如果用户通过在警报上滑动来解锁屏幕,则声音不会停止.
  • 如果用户通过滑动">滑动解锁"来解锁屏幕,它会停止声音.

2)当应用程序是背景屏幕锁定时,警报声音在应用程序到达前景时正常停止.

当应用程序在didReceiveLocalNotification和applicationDidBecomeActive中出现前景时,我会取消预定的本地通知.

    application.applicationIconBadgeNumber = 0;
    [application cancelAllLocalNotifications];
Run Code Online (Sandbox Code Playgroud)

ios ios7

11
推荐指数
2
解决办法
2500
查看次数

标签 统计

ios ×1

ios7 ×1