2011-07-11 40 views
1

我有一个应用程序在后台使用UILocalNotification提醒用户在感兴趣的事情发生时打开应用程序。通知播放声音(使用soundName属性指定)。这一切都可以,但是,当用户按下屏幕锁定按钮时,有没有办法停止UILocalNotification声音?屏幕锁定按钮不会沉默UILocalNotification声音

我发现用户习惯于按下此按钮来静音手机的铃声而不回应它,他们希望对我的应用程序也这样做。

回答

0

UILocalNotifications,就我所知,不会产生持久的声音。如果属于您的话,可能与Apple的人机界面指南有冲突。

然而,仅仅因为你不应该并不意味着你应该不知道如何:

一种方法是改变您的通知的soundName财产在AppDelegate的方法applicationWillResignActive:

- (void)applicationWillResignActive:(UIApplication *)application { 
    self.myLocalNotif.soundName = @""; 
    ... 
    //clean up anything else before entering the background 
} 
+0

我不确定持续声音是什么意思?我的应用程序在后台运行,UILocalNotification用于让用户将其带到最前沿。 UILocalNotification指定要显示的声音名称。如果屏幕锁定按钮被按下,我希望能够关闭此声音(即时),但我不明白这可以做什么? – dchappelle

+0

声音不应该足够长以允许这种行为。 Ergo,可能没有一个(合法的)方法来做到这一点。 –

+0

声音<30秒。我只是希望能够在按下屏幕锁定按钮时立即将其关闭 - 就像按下屏幕锁定按钮后立即可以使单元铃声保持沉默一样。 – dchappelle