【发布时间】:2014-07-02 09:37:00
【问题描述】:
我已将自定义 .aif 30 秒文件设置为本地通知声音名称。下面是我安排本地通知的代码。
//Function to schedule local notification
-(void)schedulelocalnotification:(NSDate *)particularfiredate ringtone: (NSString *)particularringtone name:(NSString *)alarmname info:(NSDictionary *)dicttext
{
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = particularfiredate;
notification.soundName = [arrayAIFFFiles objectAtIndex:[arraysoundfilesnames indexOfObject:particularringtone]];
notification.alertBody = alarmname;
notification.userInfo = dicttext;
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
}
但是当设备被锁定,并且用户在通知上滑动进入应用程序时,即使用户进入应用程序,声音也会继续播放。即使用户退出/卸载应用程序,它也会继续播放。 请提出可能的原因。
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
[[NSUserDefaults standardUserDefaults] setValue:@"0" forKey:@"demo"];
NSLog(@"%i",[[[UIApplication sharedApplication] scheduledLocalNotifications] count]);
NSString *viewcontrollerstring = [notification.userInfo objectForKey:@"smiletosnooze"];
NSLog(@"++++++------%@",viewcontrollerstring);
}
PS:我检查了 - UILocalNotification stop sound after notification is dismissed 和这个 - Stop UILocalNotification Sound on slide to view 但它没有帮助。 :(
【问题讨论】:
-
似乎有一个已提交的错误报告...openradar.appspot.com/15901634
-
如果您按下设备的任何硬件音量按钮,声音会停止吗?
-
是的,当按下设备硬件音量按钮时声音会停止。那么现在,如果有错误报告,这是否意味着没有解决方法?我可以看到很少有应用程序正在这样做 - itunes.apple.com/en/app/alarm-clock-hd-free/id382604920?mt=8 他们做得如何?
-
还有一个问题:这种行为是否会根据 iPhone 是否被密码锁定而改变?
-
是的,我刚刚测试了应用密码,当密码锁定打开时,通知声音在滑动时停止。
标签: ios iphone audio uilocalnotification