Flutter | 验证码的倒计时进入后台停止了怎么办?
测试反馈:
获取验证码后,进入后台,过段时间进入前台,倒计时时间对不上。
原因:
倒计时是通过 Timer
控制的,在 iOS 上,进入后台大约 30 秒后,Timer
的 callback
就不回调了。
代码:
伪代码如下:
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 | 验证码的倒计时进入后台停止了怎么办?相关推荐
- Flutter开发之倒计时/定时器(30)
倒计时/定时器在移动应用开发中比较常见的功能,比如启动时的广告倒计时.比如弹框倒计时.比如定时1秒后跳转.获取验证码等等.今天就认识一下Flutter中的倒计时/定时器. 一般有两种场景: 我只需要你 ...
- Java中IDEA,Springboot实现手机获取验证码和倒计时
问题一:我现在点击获取手机验证码,虽然现实正在发送 但是手机接收不到验证码 我试了很多 也不知道哪的问题 我们使用的是榛子云短信平台, 官网地址:http://smsow.zhenzikj.com 已 ...
- axure 倒计时_Axure教程:短信验证码实现倒计时
编辑导读:本文跟大家分享,如何用Axure实现短信验证码倒计时效果,作者从预览图,到所需基本原件,再到操作步骤都一一展开了分析,并对过程中需要注意的问题进行了介绍,希望对你有所启发. 这个是新用户注册 ...
- 注册/找回密码等功能中发送手机验证码后倒计时效果的实现(基于vue)
注册/找回密码等功能中发送手机验证码后倒计时效果的实现,基于vue.element-ui <template><el-button size="small" ty ...
- 实用技巧——获取验证码的倒计时
实用技巧--获取验证码的倒计时 效果图 源码:GitHub CountDownTimer 创建对象,调用start的方法,开始倒计时 /*** 第一个参数:总时长(毫秒)* 第二个参数:多久执行一次回 ...
- Flutter在安卓平台保持后台运行
Flutter在安卓平台保持后台运行 现有的中文资料,还在修改MainActivity.java 文件,实际上Google 宣布 Kotlin 取代 Java 成为 Android 官方开发语言,所以 ...
- uni-app实现获取验证码的倒计时
实现的效果 页面部分是一个三目运算,codeTime是倒计时的时间. <template><view><view class="three">& ...
- 倒计时到0停止,用在手机获取验证码的倒计时
<input type="text" placeholder="填写验证码" class="check1 "/><butt ...
- 【转】前端验证码倒计时、后台发送验证码、创蓝短信接口
前端代码:倒计时 <!DOCTYPE html> <html> <head lang="en"> <meta charset=&q ...
最新文章
- 超详细配置教程,搭建 Windows 深度学习环境
- php webserver documentroot,PHP $_SERVER['DOCUMENT_ROOT'] 问题
- 【机器视觉】机器视觉产业链
- Python-EEG工具库MNE中文教程(5)-机器学习算法随机森林判断睡眠类型
- 【LDA学习系列】LDA-Python库
- wxWidgets:wxLogNull类用法
- php 生成wsdl工具,php中使用zendstudio 12为soapserver生成wsdl文件
- Datapath综合代码规范(Verilog)
- JSON特殊字符处理
- Sql Server 2016数据库生成带数据的脚本
- android 系统 ---(1) 框架的代码组织介绍
- Python 爬取 6000 篇文章分析 CSDN 是如何进入微信 500 强的
- 编程基本功:自己听不懂,不要埋怨别人讲的没用
- python如何调用dll库中的函数_Python调用DLL动态库函数读写CPU卡
- mc小刘yeah粉丝网
- excel表格合并程序
- uni-app开发中的#ifdef MP是什么意思?条件编译
- 教你几招!做客服怎么应对物流太慢的问题
- 阿里云短信服务(申请与代码)
- win7计算机用户文件夹,win7系统盘里有一个用户文件夹
热门文章
- 作为安卓开发者必备的小软件(全是干货)
- 【Linux】 /etc/security/limits.conf 配置文件说明
- 华为实习生笔试考后感
- PHPstorm等系列IDE永久破解
- 全国铁路首家 广深城际21日起可刷支付宝乘车
- iqoo5可以升级鸿蒙吗,就目前这配置iQOO Neo5能用三年吗?
- Excel VBA –更改工作表后运行宏
- BugFree 的安装
- AD16出现Your license is already used on computer “DESKTOP-6B2RPUI“ using product “ Altium Designer“.
- Windows环境查看环境变量