菜鸟教程小白 发表于 2022-12-12 20:48:29

ios - 当应用程序在后台时保持 NSTimer 运行


                                            <p><p>我希望有专家可以帮助我解决这个问题:</p>

<p>我在谷歌上搜索了几个小时,但找不到任何信息,如果有任何方法可以在应用程序在后台运行时保持正在运行的 NSTimer 处于事件状态?</p>

<p>问题场景是我需要在按钮单击时设置倒计时。剩余时间显示为 (02:34:45) 作为按钮的标题。当应用程序进入后台或暂停时,我的计时器如何继续运行。请帮助我如何保持闹钟的剩余时间,为闹钟选择的值是多少(例如 2 小时 3 分钟)</p>

<p>感谢您的帮助!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果您将其用于警报,最好的办法是使用本地通知。这样您就不需要使用任何后台处理模式。</p>

<p>当您的应用程序即将进入后台时(在您的应用程序委托(delegate)的 <code>applicationWillResignActive</code> 或 <code>applicationDidEnterBackground</code> 中),获取您的计时器还剩多少时间。然后为将来的那段时间安排本地通知:</p>

<pre><code>NSTimeInterval timeUntilNotification = ...

UILocalNotification *localNotif = [ init];
localNotif.fireDate = [ dateByAddingTimeInterval:secondsUntilNotification];
localNotif.soundName = UILocalNotificationDefaultSoundName;

[ scheduleLocalNotification:localNotif];
</code></pre>

<p>当您的应用再次激活时,请确保使用 <code>cancelAllLocalNotifications</code> 取消所有通知。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 当应用程序在后台时保持 NSTimer 运行,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/10579597/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/10579597/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 当应用程序在后台时保持 NSTimer 运行