flutter - 如何使用仅在应用程序在屏幕上运行的计时器?扑
问题描述
所以我有这个应用程序,其中有一个小部件,当按下它时,它会导致一个带有小部件中声明的号码的电话。
当我按下小部件时,它会将文本从黑色变为红色,并启动一个计时器以在持续时间结束时再次将文本变为黑色。
但是当它在电话屏幕上时计时器一直在运行,我需要它只有在通话后回到应用程序时才开始运行,我该怎么做?
这是代码
ListTile(
leading: InkWell(
onTap: () async {
call();
setState(
() {
color = Colors.red;
},
);
await timer();
},
child: CircleAvatar(
child: Icon(Icons.phone),
),
),
timer() {
Timer(
Duration(seconds: 20),
() {
setState(
() {
color = Colors.black;
},
);
},
);
}
解决方案
推荐阅读
- android - 使用 Play 计费库暂停测试订阅时出现问题
- javascript - 根据第一次调用的结果进行 Ajax 调用
- firebase - 是否可以使用触发电子邮件扩展名将文件附加到我想通过 firebase 发送的电子邮件?
- powershell - 在 Powershell 中创建目录时出错
- python - Python列表,将所有值保留在列表的所有子列表中
- redis - Redis key eviction 澄清
- javascript - 加载javascript时如何在vue组件中引用javascript中的img
- arrays - 将数组值批量分配给变量
- git - bitbucket/git 是否为分支和提交提供唯一标识符?
- amazon-web-services - 使用 AWS CDK 和 RDS (Aurora),我可以在哪里更改证书颁发机构?