首页 > 解决方案 > 如何使用仅在应用程序在屏幕上运行的计时器?扑

问题描述

所以我有这个应用程序,其中有一个小部件,当按下它时,它会导致一个带有小部件中声明的号码的电话。

当我按下小部件时,它会将文本从黑色变为红色,并启动一个计时器以在持续时间结束时再次将文本变为黑色。

但是当它在电话屏幕上时计时器一直在运行,我需要它只有在通话后回到应用程序时才开始运行,我该怎么做?

这是代码

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;
          },
        );
      },
    );
  }

标签: flutterdarttimerdurationphone-call

解决方案


推荐阅读