关键词:
【中文标题】如何创建一个倒数计时器,当屏幕关闭时停止并“等待”,重新打开时恢复。安卓【英文标题】:How to create a countdown timer that stops and "waits" when the screen is off, resumes when back on. Android 【发布时间】:2016-01-24 15:34:57 【问题描述】:如何创建一个倒数计时器,它在屏幕关闭时停止并“等待”,在重新打开时恢复。
正如标题所说,如何在 Android Studio 中编写一个基本的倒计时计时器,当用户关闭手机(屏幕关闭)时停止,并在屏幕重新打开时重新启动。在这方面仍然是一个完整的菜鸟,我只需要可以工作并执行此操作的基本代码。
谢谢
我已经有了一个基本的界面...
【问题讨论】:
【参考方案1】:使用带有 Runnable 的 Handler,每秒调用一次。
Handler handler = new Handler();
int countdown = 300; // set countdown value in seconds
Runnable countdownRunnable = new Runnable()
@Override
public void run()
countdown--;
if(countdown == 0)
// countdown finished
else
handler.postDelayed(this, 1000);
首先,以handler.post(countdownRunnable)
开始倒计时。在 Activity/Fragment onStop()
中,使用 handler.removeCallbacks(countdownRunnable);
从处理程序中删除可运行对象,然后使用 handler.post(countdownRunnable)
在 onStart()
中再次添加它。
另外,不要忘记保存和恢复状态(当前倒计时值)。
【讨论】:
【参考方案2】:正如 Nacho L. 回答的 *** 对于屏幕开关状态,您可以尝试使用 ACTION_SCREEN_ON 和 ACTION_SCREEN_OFF Intents,如这篇博文所示:[http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/2
【讨论】:
谢谢!有时间会复习一下当手机进入空闲状态时后台服务停止
...粘性后台服务。基本上它跟踪时间,它是一个自定义时钟计时器。但是一旦设备进入空闲状态(当手机屏幕关闭时),计时器(后台服务)也会暂停。我应该怎么做才能让它在屏幕关闭的情况下始终保持运行?publicclassTime 查看详情
Flutter:当倒数计时器达到 0 时执行动作
】Flutter:当倒数计时器达到0时执行动作【英文标题】:Flutter:Performanactionwhenacountdowntimerreaches0【发布时间】:2020-04-1520:36:26【问题描述】:我在Flutter中创建了一个显示倒数计时器的屏幕。我能够播放、暂停和重新启动计时器,... 查看详情
在后台运行ios应用
...是iOS编程的新手,我设法创建了一个倒计时到0的倒计时计时器,当计时器到达0时,会弹出UIAlertView说计时器已完成。虽然我的问题是当我最小化应用程序或屏幕进入睡眠状态时,我的倒数计时器停止并且我的警报不会出现,直... 查看详情
按秒倒数计时器
】按秒倒数计时器【英文标题】:pushsecondstocountdowntimer【发布时间】:2012-06-2720:20:20【问题描述】:我创建了一个显示在标签上的倒数计时器,现在我想添加一个功能,当用户按下按钮时,它将向倒数计时器添加30秒。我试图自... 查看详情
如何在 JavaScript 中编写倒数计时器? [关闭]
】如何在JavaScript中编写倒数计时器?[关闭]【英文标题】:HowtowriteacountdowntimerinJavaScript?[closed]【发布时间】:2014-01-0406:46:58【问题描述】:只是想问一下如何创建最简单的倒数计时器。网站上会有一句话说:“注册将在05:00分钟... 查看详情
MVC 中的倒数计时器
】MVC中的倒数计时器【英文标题】:CountdownTimerinMVC【发布时间】:2012-11-0807:35:12【问题描述】:我正在使用code在_Layout.cshtml页面中显示倒数计时器。但是当我从一个页面移动到另一个页面时,计时器会在新页面加载时再次启动... 查看详情
视图关闭时如何停止视图模型中的调度计时器?
】视图关闭时如何停止视图模型中的调度计时器?【英文标题】:Howtostopadispatchtimerintheviewmodelwhentheviewisclosed?【发布时间】:2022-01-2009:34:18【问题描述】:当视图关闭时,我想关闭ViewModel中的计时器。我的代码:MainWindow.xaml.cs:... 查看详情
当另一个正在运行时,如何暂停一个倒数计时器?
】当另一个正在运行时,如何暂停一个倒数计时器?【英文标题】:HowcanIpauseoneCountDownTimerwhenanotheroneisrunning?【发布时间】:2017-02-2621:06:21【问题描述】:我的程序中有两个CountDownTimer:一个4秒,一个24秒。我希望较长的计时器... 查看详情
Android:当活动死亡时,计时器被孤立
】Android:当活动死亡时,计时器被孤立【英文标题】:Android:WhenActivityDies,TimerisOrphaned【发布时间】:2012-11-2916:06:22【问题描述】:我是一个相对的Android新手,正在编写一个计时器应用程序。我正在使用一个自定义倒数计时器类... 查看详情
倒数计时器停止在后台运行
】倒数计时器停止在后台运行【英文标题】:Countdowntimerstopsrunninginbackground【发布时间】:2013-01-2516:02:33【问题描述】:我在我的应用程序中实现了倒数计时器。它在后台运行得很好而且花花公子,但是当我使用高级任务杀手时... 查看详情
如何让我的倒数计时器重置为每次视图加载时?
】如何让我的倒数计时器重置为每次视图加载时?【英文标题】:Howtogetmycountdowntimertoresettoeverytimetheviewloads?【发布时间】:2017-07-2821:53:29【问题描述】:在我的iOS测验应用中,您有15秒的时间来回答问题。如果回答正确,则会出... 查看详情
颤振倒数计时器
】颤振倒数计时器【英文标题】:FlutterCountdownTimer【发布时间】:2019-07-0317:47:05【问题描述】:如何将传递的值放入构造中,以创建一个四舍五入到小数点后一位并显示在我的RaisedButton子文本中的计时器?我试过但没有运气。我... 查看详情
如何在模态视图中等待用户输入时停止执行
】如何在模态视图中等待用户输入时停止执行【英文标题】:HowtostopexecutionwhilewaitingforuserinputinaModalView【发布时间】:2011-10-1313:33:18【问题描述】:我有一个导航控制器,显示一个TableView和一个带有按钮的工具栏。如果用户按下... 查看详情
如何创建在使用 AnimationController 创建的倒数计时器期间发出的警报?
】如何创建在使用AnimationController创建的倒数计时器期间发出的警报?【英文标题】:HowtocreateanalarmthatgoesduringacountdowntimercreatedwithanAnimationController?【发布时间】:2020-08-2315:14:21【问题描述】:我使用动画控制器创建了一个倒数计... 查看详情
当 Droid/Nexus One 上的屏幕关闭时,加速度计停止提供样本,即使使用 WakeLock
】当Droid/NexusOne上的屏幕关闭时,加速度计停止提供样本,即使使用WakeLock【英文标题】:AccelerometerstopsdeliveringsampleswhenthescreenisoffonDroid/NexusOneevenwithaWakeLock【发布时间】:2011-01-0917:30:28【问题描述】:我有一些代码可以扩展服务... 查看详情
在活动停止时停止运行 livedata 任务
...法。我创建了一个简单的应用程序,它在活动开始时启动计时器。当活动被破坏时-计时器继续运行并且在重新启动时活动创建了第二个计时器,现在我们有两个正在运行的计时器-这是潜在的内存泄漏?如何 查看详情
如何使用倒数计时器停止游戏 - iOS [SWIFT] -
】如何使用倒数计时器停止游戏-iOS[SWIFT]-【英文标题】:Howtouseacountdowntimertostopagame-iOS[SWIFT]-【发布时间】:2014-09-2014:58:45【问题描述】:我的游戏应该在60秒后停止。但是我的计时器代码没有任何反应。vartimer=NSTimer()varcounter:Int=... 查看详情
如何停止在 C# 类中运行的计时器
】如何停止在C#类中运行的计时器【英文标题】:HowtostopatimerrunninginsideaclassC#【发布时间】:2015-09-2314:07:23【问题描述】:我有一个在课堂上运行的计时器。我有两个按钮。按钮1是启动计时器(在类内)按钮2用于强制停止计时... 查看详情