6

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

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

谢谢!!

4

4 回答 4

3

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

于 2013-07-25T08:28:55.310 回答
3

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

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”字符串。

于 2013-07-25T09:25:32.170 回答
0

你不能设置声音。或者

-(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);

}

于 2016-10-08T08:43:57.007 回答
-1

在此代码下方尝试没有声音的本地通知

let content = UNMutableNotificationContent()
      content.sound = nil
于 2020-04-06T09:00:29.287 回答