如何检查Flutter应用程序是否在前台?

2023-12-10

我不想当应用程序位于前台时显示通知。 如何检查我的应用程序的实时状态?


在您的 State<...> 类中,您需要实现WidgetsBindingObserver接口并监听小部件状态变化。像这样的事情:

class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
  AppLifecycleState? _notification; 
  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    setState(() {
      _notification = state;
    });
  }

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance?.addObserver(this);
    ...
  }

  @override
  void dispose() {
    WidgetsBinding.instance?.removeObserver(this);
    super.dispose();
  }
}

然后当你想知道状态是什么时,检查

 _notification.index property. _notification == null => no state changes happened, 
0 - resumed, 
1 - inactive, 
2 - paused.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查Flutter应用程序是否在前台? 的相关文章

  • Charts_flutter x 轴上的标签/文本相互重叠

    我使用flutter中的charts flutter包渲染条形图 但 x 轴上的域标签相互重叠 我有办法解决这个问题吗 有没有办法倾斜文本或增加图表的宽度 使其可以水平滚动 我尝试过寻找任何解决方案 例如 labelspecs 但无法找到解
  • Dart2js 数字类型:确定值是 int 还是 double

    我正在尝试确定是否dynamic函数的参数实际上是一个int or a double我发现了令人惊讶的行为 至少对我来说 谁能解释一下这个输出 在 dartpad 上生成 foo value print value is int value
  • Flutter:如何移动文本字段字符计数器?

    标题很好地总结了这个问题 我有一个TextField with a maxLength 250这就是它的样子 有没有办法把柜台放在其他地方 最好位于发送按钮的左侧 但也可能位于发送按钮的上方和左侧TextField 有任何想法吗 谢谢 可能
  • BottomAppBar浮动操作按钮凹口/插入不透明

    我添加了一个BottomAppBar到材质应用程序中的脚手架 并且我添加了一个在中心带有插图的工厂 代码看起来有点像这样 Scaffold bottomNavigationBar BottomAppBar color Theme of co
  • 打开键盘会导致有状态小部件重新初始化

    我在 Stable 分支中使用 Flutter 1 2 1 为了说明我的问题 假设我有页面 A 和 B A 使用以下命令导航到 BNavigator pushB 使用以下命令导航回 ANavigator pop 两者都是有状态的小部件 当我
  • Android Gradle 问题 - Flutter / Dart

    我的 Gradle 同步有问题 我使用 IntelliJ 和 Android Studio 构建 Flutter Dart 应用程序 我添加了 2 个新的依赖项 现在 Gradle 出现了问题 在 Android Studio 中一切正常
  • 如何在flutter项目中使用http拦截器?

    我必须向我的所有 Api 添加标头 有人告诉我为此使用 http 拦截器 但我无法理解如何做到这一点 因为我是颤振的新手 谁能帮我举个例子吗 您可以使用http 拦截器 https pub dev packages http interce
  • 如何在flutter中绕过SSL证书验证?

    如何在flutter中绕过SSL证书验证 错误 握手异常 客户端中的握手错误 操作系统错误 CERTIFICATE VERIFY FAILED 自签名证书 handshake cc 345 您需要配置 HttpService 以使用自签名
  • NestedScrollView 与 ListView 中的粘性选项卡

    布局按预期工作 但以下情况除外 当我滚动一页时 第二页也会滚动 没有那么多 但足以掩盖第一个项目 我可以想象它与 NestedScrollView 有关 但我不知道如何继续 import package flutter material d
  • 如何让“material-dropdown-select”显示当前模型值

    使用 AngularDart 角度组件 https github com dart lang angular components 我需要创建一个下拉列表 其中填充了一小部分项目 使其工作 并自动设置为模型中对象的当前选择 尚未使其工作 我
  • 如何知道 Dart 中的复选框或单选按钮是否被选中?

    我有一个复选框和一个单选按钮组 我想知道是否选中了该复选框以及选择了哪个单选按钮 我如何在 Dart 中做到这一点 假设我们有这样的 HTML
  • Flutter - 构建失败并出现异常

    当我启动我的应用程序时 我收到此错误消息 自上次运行以来我没有进行任何更改 当时一切都很好 有人知道如何解决这个问题吗 谢谢 FAILURE Build failed with an exception 什么地方出了错 无法确定任务 app
  • flutter 中 sqlite 中的多个参数

    我想知道如何将多个参数传递给 sqllite 中的原始查询 我的代码如下 query async get a reference to the database Database db await DatabaseHelper instan
  • 已发布的 Flutter 应用程序在启动时崩溃

    编辑 此问题的解决方案是将您的 flutter 版本升级到较新的 dev 版本 then 1 7 0 您还可以上传单独的 APK 版本 但我个人不喜欢这个选项 请确保您没有从 flutter github 开发存储库下载 错误的构建 因为那
  • SocketException:主机查找失败:“...com”(操作系统错误:未提供节点名或服务名,或未知,errno = 8)

    我们面临的情况是 生产应用程序面临以下套接字异常 并且在此之后无法执行任何其他网络操作 DioError DioErrorType DEFAULT SocketException Failed host lookup xyz abc com
  • 未处理的异常:A 产品在处置后使用

    我在用着MultiProvider我收到此错误 Unhandled Exception A Products was used after being disposed Once you have called dispose on a P
  • Dart 从 UInt8List 获取扩展

    我正在使用该包图像选择器 https pub dev packages image picker接受来自用户的图像 这会产生 PickedFile 和字节数组 由于图像随后被上传 我想知道如何从字节数组中猜测 mime 类型 PickedF
  • 如何在 AD 1.0.0 的 AngularDart 中从其父组件引用子组件

    我一直在使用这个答案 AngularDart 如何在自定义组件模板中包含子组件 https stackoverflow com questions 25733154 angulardart how to include subcompone
  • 颤振轮播图像滑块在点击事件期间打开单独的页面被调用

    我是新来的 我想问一个关于我的代码的问题 我查看了 youtube 和一些关于这个 inkwell 的 google 教程 以及点击功能来在 flutter 上打开新的类活动 但结果是 当点击图像时 它会打开不同的图像屏幕 但它们共享相同的
  • 传递 Stack 中两个小部件之间的所有手势

    我正在开发一个应用程序 在地图上显示标记 如下所示 它的工作方式是标记在地图小部件 上方 呈现为Stack 我的问题是 目前 标记 吸收 用于控制下方地图的手势 如果手势在标记上开始 因此我想知道 有没有办法在堆栈中的两个小部件之间传递所有

随机推荐

  • 多重作业如何进行?

    From Lua 编程第 4 1 节 在多重赋值中 Lua 首先评估所有值 然后才 执行分配 因此 我们可以使用多重赋值 交换两个值 如 x y y x 交换x fory 任务实际上是如何进行的 如何实现多重赋值取决于您使用的 Lua 实现
  • 使用Flask通过浏览器加载txt文件并访问其数据进行处理

    我正在制作一个数据可视化工具 它接受用户的输入 选择计算机上的文件 使用 Pandas Numpy 等在 Python 中处理它 并将数据显示在本地服务器上的浏览器中 使用 HTML 输入表单选择文件后 我无法访问数据 HTML 形式
  • 价值关联的关键

    我正在尝试做什么创建汽车 为创建的每辆汽车分配一个名称 以下是我所做的 codes public class Cars Map
  • 如何以编程方式将非身份列更改为身份一?

    我有一个表 其列 ID 为标识一 接下来 我创建新的非身份列 new ID 并使用 ID 列 1 中的值更新它 如下所示 new ID ID 1 接下来 我删除 ID 列并将 new ID 重命名为 ID 以及如何在这个新列 ID 上设置身
  • 如何从末尾截断文件? (跨平台)

    我正在尝试找到一种跨平台的删除方法X从文件末尾开始的字节 目前我发现 平台特定的解决方案 例如 posix 的 truncate 这是我不想要的 因为我希望 C 程序在多个平台上运行 读入整个文件 然后再次写出该文件减去我要删除的字节 我想
  • 如何获取`__NSAutoreleaseNoPool`地址?

    我尝试过 extern void NSAutoreleaseNoPool void obj 但这会导致链接时出现未解析的符号 但不确定它需要什么框架 我也尝试过 dlsym RTLD DEFAULT NSAutoreleaseNoPool
  • 当鼠标悬停在边框上时,如何完全禁用调整窗口大小(包括调整大小图标)?

    我用了 setFixedSize size 阻止窗口调整大小 但当鼠标位于窗口边框上方时 调整大小箭头仍然出现 有没有更好的方法来禁用窗口调整大小以避免在跨越边界时显示箭头 Qt 有一个 windowFlag 称为Qt MSWindowsF
  • 为什么可以赋值`async`和`await`关键字? [复制]

    这个问题在这里已经有答案了 我注意到async关键字可以被赋予任何值 甚至可以用作普通变量 let async world console log async console log Hello async 然而 即便如此 它仍然像以前一样
  • 如何使用笑话和酶测试正在使用其他微前端组件的一个微前端组件

    我有两个微前端 写在react 打字稿 仪表板MFE and 通用MFE 常见的MFE有几个组件可以独立地被仪表板使用 例如 通知组件 加载器组件等 MFE1 有仪表板 组件 tsx简化版本如下所示 import React from re
  • 调试时 MVC CSS 未在 Visual Studio 中呈现

    我遇到一个问题 当我编译 MVC 项目并在 https localhost MyApp 上查看它时 CSS 无法正确呈现 按钮和背景图像没有显示 它曾经工作过一次 然后由于某种原因它停止工作 页面没有缓存的原因是什么 我用firebug检查
  • 如何将字符串中的列表转换为Python中的真实列表?

    e g from 1 2 3 to 1 2 3 作为函数int 使一个 5 a 5 The json and ast包可以帮助像这样的解析 在这种情况下尝试 import json foo json loads 1 2 3 or impor
  • 为 Google Analytics 报告 API 设置 HTTP 代理

    我已阅读以下链接 其中告诉我们如何在 Google API 上设置代理 使用 httplib2shim 设置代理 客户端 API 代理 httplib2shim 的官方存储库 谷歌代理支持链接 google api python clien
  • 使用 Linkify 后可以更改 TextView 链接文本吗?

    使用 Linkify 创建链接后是否可以更改 TextView 文本 我有一些东西 我希望 url 有两个字段 名称和 id 但我只希望文本显示名称 因此 我从包含名称和 ID 的文本的文本视图开始 然后进行链接以创建与这两个字段的适当链接
  • 将自定义列添加到 WooCommerce 管理优惠券列表

    昨天我们遇到了这样的情况 有人问我 谁创建了这张优惠券 不幸的是 WooCommerce 默认情况下不会在列出所有优惠券的优惠券概述中显示优惠券的创建者 我试图找出的是 如何在 WooCommerce gt 营销 gt 优惠券概述中添加包含
  • 使用 PHP 的 Chrome 原生消息传递

    我正在尝试构建一个可以通过本机消息传递与 Chrome 扩展进行通信的 PHP 类 我可以连接到我的代码 但在启动时 Chrome 会发送 chrome extension lkjcciocnocjjgpacggbaikjehbfedbl
  • 如何从包含西里尔字母的频道用户名获取 YouTube 频道 ID

    这是一个 YouTube 频道网址 用户名中包含西里尔字母 https www youtube com c D0 9B D1 83 D1 87 D1 88 D0 B8 D0 B5 D0 B4 D0 BE D0 BA D1 83 D0 BC
  • MySql:计算单词在列中出现的次数

    例如 如果我在这样的列中有数据 data I love book I love apple I love book I hate apple I hate apple 我怎样才能得到这样的结果 I 5 love 3 hate 2 book
  • Selenium 中的轮换代理

    我将 Selenium webdriver 用于 Firefox 和 Scrapy 现在我需要动态更改代理 但到目前为止我在文档中发现的是 当我实例化 webdriver 本身时 我可以在配置文件中指定代理 那么这意味着我无法动态更改代理
  • 如何使用引导验证来验证所见即所得编辑器

    Using bootstrap3 wysihtml5 bower 2013 11 22 所见即所得编辑器 and BootstrapValidator v0 5 2 使用引导验证来验证文本区域 bootstrap wysihtml5 编辑器
  • 如何检查Flutter应用程序是否在前台?

    我不想当应用程序位于前台时显示通知 如何检查我的应用程序的实时状态 在您的 State 类中 您需要实现WidgetsBindingObserver接口并监听小部件状态变化 像这样的事情 class MyHomePageState exte