我想要一些没有显示和声音但只有振动的本地通知。我可以让它不显示,只需设置alertBody
为@""
,但我怎样才能不发送声音?我在想,如果我没有从你们那里得到更好的方法,我将能够制作一个空的声音,将它添加到我的项目中,然后将 soundName 设置为那个声音。但是有什么默认的方法可以做到这一点吗?
如果我添加一个虚假的声音名称,它仍然会播放默认的通知声音。
谢谢!!
我想要一些没有显示和声音但只有振动的本地通知。我可以让它不显示,只需设置alertBody
为@""
,但我怎样才能不发送声音?我在想,如果我没有从你们那里得到更好的方法,我将能够制作一个空的声音,将它添加到我的项目中,然后将 soundName 设置为那个声音。但是有什么默认的方法可以做到这一点吗?
如果我添加一个虚假的声音名称,它仍然会播放默认的通知声音。
谢谢!!
不,您不能禁用声音,因为 UILocalNotification 没有为此提供任何选项。因此,更好的选择是您在问题中告诉使用空声音文件。
是的,您可以添加另一个声音文件。
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”字符串。
你不能设置声音。或者
-(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);
}
在此代码下方尝试没有声音的本地通知
let content = UNMutableNotificationContent()
content.sound = nil