【问题标题】:Can I hide Flutter app contents when the app is in Background?当应用程序处于后台时,我可以隐藏 Flutter 应用程序的内容吗?
【发布时间】:2020-05-17 06:11:00
【问题描述】:

我正在开发一个处理敏感信息的应用程序。

其中一个要求是,当用户将应用程序置于后台时,必须隐藏应用程序当前显示的内容,因此如果其他人在后台浏览应用程序,他将看不到最后一个屏幕用户是。

关于如何做到这一点的任何想法?

当应用移动到 AppLifecycleState.paused 时,我尝试显示覆盖,但它对我不起作用,如果我想要,应用会打印一条消息,但它无法更新 UI。

【问题讨论】:

  • 你试过什么?你在使用 WidgetBindingObserve 吗?
  • 是的,我重写了 didChangeAppLifecycleState 方法。
  • 您清除了状态或导航到另一个屏幕?
  • case AppLifecycleState.paused: setState(() { appInBackground = true; }); break;
  • 好吧,现在我知道你不是唯一面临这个问题的人。 android 文档说,对于这个功能,尽可能使用本机代码。 github.com/flutter/flutter/issues/33236flutter.dev/docs/get-started/flutter-for/…

标签: flutter flutter-layout


【解决方案1】:

编辑 无耻的插件:我做了一个库来做这件事,因为我也需要它:

https://pub.dev/packages/secure_application

Answear

暂停后不会调用构建,至少在 Android 上是这样。

对于 Android,我使用了一个 flutter_windowmanager 包(修改后仍然可以在 IOS 上构建):

https://github.com/neckaros/flutter_windowmanager

当我的应用需要保护时,我会添加安全标志:

FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE)

我的应用现在在应用切换器中出现黑屏。 当用户返回应用程序时,您仍然应该隐藏内容。

否则,您可以使用本机: https://medium.com/@mehmetf_71205/securing-flutter-apps-ada13e806a69

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 2022-01-01
    • 2020-01-25
    • 2021-05-11
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多