【问题标题】:Can I send a Local Notification with no sound?我可以发送没有声音的本地通知吗?
【发布时间】:2017-02-17 04:42:57
【问题描述】:

我想要一些没有显示和声音,但只有振动的本地通知。我可以让它不显示,只需将alertBody 设置为@"",但我怎样才能不发送声音?我在想,如果我没有从你们那里得到更好的方法,我将能够制作一个空的声音,将它添加到我的项目中,然后将 soundName 设置为那个声音。但是有什么默认的方法可以做到这一点吗?

如果我添加一个虚假的声音名称,它仍然会播放默认的通知声音。

谢谢!!

【问题讨论】:

    标签: iphone ios uilocalnotification


    【解决方案1】:

    不,您不能禁用声音,因为 UILocalNotification 没有为此提供任何选项。正如您在问题中所说的那样,更好的选择是使用空的声音文件。

    【讨论】:

    • 错了!可以在没有声音文件的情况下获得推送通知! stackoverflow.com/questions/9841600/…
    • @GuntisTreulands 首先正确阅读问题,然后评论任何答案。问题与 UILocalNotification 而非 Apple 推送通知有关。
    【解决方案2】:

    是的,您可以添加另一个声音文件。

    NSString *soundFile=@"temp.mp3"; 
    
    UILocalNotification* localNotification = [[UILocalNotification alloc] init];
        if (localNotification==nil) {
            return;
        }
        localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:60];
        localNotification.alertBody = @"Your alert message";
        localNotification.soundName = soundFile;
        localNotification.timeZone = [NSTimeZone defaultTimeZone];
    
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
    

    在上面的代码中,只需将您保存在资源中的声音文件的名称替换为“soundFile”字符串。

    【讨论】:

    • 我想使用默认声音
    【解决方案3】:

    你不能设置声音。或者

    -(void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)responsewithCompletionHandler:(void (^)())completionHandler{
    NSDictionary * userInfo = response.notification.request.content.userInfo;
    if([response.notification.request.trigger isKindOfClass:[UNCalendarNotificationTrigger class]]) {}
    else{}
    //don't write UNNotificationPresentationOptionSound
    completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge);
    

    }

    【讨论】:

      【解决方案4】:

      没有声音的本地通知 试试下面这段代码

      let content = UNMutableNotificationContent()
            content.sound = nil
      

      【讨论】:

      • .sound 属性默认为 nil,所以这不会产生任何效果:通知只会播放默认的通知声音。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多