我正在尝试构建一个报警应用程序,它可以在锁定屏幕模式下触发警报(应用程序在前台,但屏幕是锁定的)。警报必须由NSTimer触发,而不是由uilocalnotification触发。
在iOS 4中,我使用了“每10秒播放一次无声声音”的攻击,以防止应用程序进入深度睡眠,计时器事件正常工作。然而,在iOS 5中,这似乎不起作用。
有什么想法吗?或者这应该有用我做错了什么?
发布于 2011-12-22 05:28:34
似乎您实际上可以使用iOS 5中的“播放无声音频”攻击,但是音频必须是audible,这意味着您不能在音量设置为0.0时播放它。
发布于 2012-02-15 20:44:40
您可以使用github.com/marcop/iPhoneIn梦露,并将音量设置为大于0,但它仍然无法工作,因为声音文件太短,以至于系统在触发定时器并重播声音之前就会关闭应用程序。我通过将numberOfLoops的audioPlayer设置为-1 (无限重复)来解决这个问题。那就应该管用了。
您还应该将UIBackgroundMode plist键设置为一个名为“音频”的字符串数组。
发布于 2011-12-19 12:51:07
这可能是一个肮脏的解决办法,但在过去,我曾使用接近传感器关闭屏幕,而不是锁定手机。只要把手机倒过来,屏幕就会自动关闭。
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
这将允许您保留对设备的完全控制,而屏幕确实关闭。
https://stackoverflow.com/questions/8561504
复制相似问题