security - Flutter - 如何隐藏或更改小部件,如最近使用的应用程序概述中所示

我正在开发一个处理加密货币(钱包)的 Flutter 应用程序。有些人要求应用采取一些措施来隐藏他们的余额等。

但是,我无法弄清楚的一件事是从最近的应用程序菜单中隐藏信息(例如 Android 上的安全窗口模式,或者只是更改界面以使平衡不可见。)

我在我的主小部件中添加了一个 WidgetsBindingObserver 并尝试了类似的方法:

@override
void didChangeAppLifecycleState(AppLifecycleState state) {
  switch (state) {
    case AppLifecycleState.paused:
      setState(() {
          _hideBalance = true;
      });
      super.didChangeAppLifecycleState(state);
      break;
    case AppLifecycleState.resumed:
      setState(() {
          _hideBalance = false;
      });
      super.didChangeAppLifecycleState(state);
      break;
    default:
      super.didChangeAppLifecycleState(state);
      break;
  }
}

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

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

@override
Widget build(BuildContext context) {
    return _hideBalance ? SizedBox() : Text("$12,234");
}

但是,这对最近的应用程序没有影响,这些应用程序似乎是从按下主页按钮的那一刻起的精确快照(至少在我的 OnePlus 6T 上)。例如。 - 我仍然可以在最近的应用/应用切换器概览中看到余额。

有没有办法用 flutter 做到这一点?

最佳答案

你是说这个函数没有被调用?如果是,则需要添加以下内容,

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

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

https://stackoverflow.com/questions/54425333/

相关文章:

android - 使用 Flutter 加载 AssetImages

flutter - 如何为 Playstore 上传制作多平台 flutter apk 版本或应用程

dart - 如何在 flutter 中实现字母滚动

android - flutter 等效于 `View::onAttachedToWindow` 和

dart - 蒙版/裁剪图像

firebase - 为什么我在 Firebase Cloud Functions 中收到 "Inv

android - 检索 ro.product.cpu.abi 的设备属性时出错 :

android - RenderCustomMultiChildLayoutBox 对象在布局期间被

ios - 如何在flutter插件中导入外部iOS框架?

android - 如何修复 webview_flutter 中的白屏?