测试反馈:

获取验证码后,进入后台,过段时间进入前台,倒计时时间对不上。

原因:

倒计时是通过 Timer 控制的,在 iOS 上,进入后台大约 30 秒后,Timercallback 就不回调了。

代码:

伪代码如下:

int _restCount = 60;
_timer = Timer.periodic(const Duration(seconds: 1), (timer) {setState(() {_restCount--;});
});

类似这样的代码肯定会出问题的:进入后台,callback 停止后,_restCount 的值也不变了。再次进入前台,callback 继续回调,_restCount 的值才改变。

解决方案 1:

记录进入后台与进入前台的时间,根据时间差做处理。

可以,但麻烦,且没必要,因为有方案 2。

解决方案 2:

Timer 有个属性: tick

即使 callback 停止回调了,tick 也是在一直在累加的。

利用这个 tick,只需改一行代码就可以解决此问题:

int _restCount = 60;
_timer = Timer.periodic(const Duration(seconds: 1), (timer) {setState(() {_restCount = 60 - timer.tick;});
});

Flutter | 验证码的倒计时进入后台停止了怎么办?相关推荐

  1. Flutter开发之倒计时/定时器(30)

    倒计时/定时器在移动应用开发中比较常见的功能,比如启动时的广告倒计时.比如弹框倒计时.比如定时1秒后跳转.获取验证码等等.今天就认识一下Flutter中的倒计时/定时器. 一般有两种场景: 我只需要你 ...

  2. Java中IDEA,Springboot实现手机获取验证码和倒计时

    问题一:我现在点击获取手机验证码,虽然现实正在发送 但是手机接收不到验证码 我试了很多 也不知道哪的问题 我们使用的是榛子云短信平台, 官网地址:http://smsow.zhenzikj.com 已 ...

  3. axure 倒计时_Axure教程:短信验证码实现倒计时

    编辑导读:本文跟大家分享,如何用Axure实现短信验证码倒计时效果,作者从预览图,到所需基本原件,再到操作步骤都一一展开了分析,并对过程中需要注意的问题进行了介绍,希望对你有所启发. 这个是新用户注册 ...

  4. 注册/找回密码等功能中发送手机验证码后倒计时效果的实现(基于vue)

    注册/找回密码等功能中发送手机验证码后倒计时效果的实现,基于vue.element-ui <template><el-button size="small" ty ...

  5. 实用技巧——获取验证码的倒计时

    实用技巧--获取验证码的倒计时 效果图 源码:GitHub CountDownTimer 创建对象,调用start的方法,开始倒计时 /*** 第一个参数:总时长(毫秒)* 第二个参数:多久执行一次回 ...

  6. Flutter在安卓平台保持后台运行

    Flutter在安卓平台保持后台运行 现有的中文资料,还在修改MainActivity.java 文件,实际上Google 宣布 Kotlin 取代 Java 成为 Android 官方开发语言,所以 ...

  7. uni-app实现获取验证码的倒计时

    实现的效果 页面部分是一个三目运算,codeTime是倒计时的时间. <template><view><view class="three">& ...

  8. 倒计时到0停止,用在手机获取验证码的倒计时

    <input type="text" placeholder="填写验证码" class="check1 "/><butt ...

  9. 【转】前端验证码倒计时、后台发送验证码、创蓝短信接口

    前端代码:倒计时 <!DOCTYPE html> <html> <head lang="en">     <meta charset=&q ...

最新文章

  1. 超详细配置教程,搭建 Windows 深度学习环境
  2. php webserver documentroot,PHP $_SERVER['DOCUMENT_ROOT'] 问题
  3. 【机器视觉】机器视觉产业链
  4. Python-EEG工具库MNE中文教程(5)-机器学习算法随机森林判断睡眠类型
  5. 【LDA学习系列】LDA-Python库
  6. wxWidgets:wxLogNull类用法
  7. php 生成wsdl工具,php中使用zendstudio 12为soapserver生成wsdl文件
  8. Datapath综合代码规范(Verilog)
  9. JSON特殊字符处理
  10. Sql Server 2016数据库生成带数据的脚本
  11. android 系统 ---(1) 框架的代码组织介绍
  12. Python 爬取 6000 篇文章分析 CSDN 是如何进入微信 500 强的
  13. 编程基本功:自己听不懂,不要埋怨别人讲的没用
  14. python如何调用dll库中的函数_Python调用DLL动态库函数读写CPU卡
  15. mc小刘yeah粉丝网
  16. excel表格合并程序
  17. uni-app开发中的#ifdef MP是什么意思?条件编译
  18. 教你几招!做客服怎么应对物流太慢的问题
  19. 阿里云短信服务(申请与代码)
  20. win7计算机用户文件夹,win7系统盘里有一个用户文件夹

热门文章

  1. 作为安卓开发者必备的小软件(全是干货)
  2. 【Linux】 /etc/security/limits.conf 配置文件说明
  3. 华为实习生笔试考后感
  4. PHPstorm等系列IDE永久破解
  5. 全国铁路首家 广深城际21日起可刷支付宝乘车
  6. iqoo5可以升级鸿蒙吗,就目前这配置iQOO Neo5能用三年吗?
  7. Excel VBA –更改工作表后运行宏
  8. BugFree 的安装
  9. AD16出现Your license is already used on computer “DESKTOP-6B2RPUI“ using product “ Altium Designer“.
  10. Windows环境查看环境变量