我可以发送没有声音的本地通知吗?

时间:2013-07-25 08:25:33

标签: iphone ios uilocalnotification

我想要一些本地通知,没有显示,没有声音,但只有振动。只需将alertBody设置为@"",我就可以不进行显示,但如何才能发出声音?我想如果我没有从你们那里得到更好的方法,我将能够发出一个空的声音,将它添加到我的项目中,然后将soundName设置为该声音。但有没有任何默认的方法来做到这一点?

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

谢谢!

4 个答案:

答案 0 :(得分:3)

否则您无法禁用声音,因为UILocalNotification不为此提供任何选项。所以更好的选择是你在问题中告诉我使用空声音文件。

答案 1 :(得分: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”字符串。

答案 2 :(得分: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);

}

答案 3 :(得分:0)

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

autoFirstPage: false