我正在开发一个处理加密货币(钱包)的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");
}
Run Code Online (Sandbox Code Playgroud)
但是,这对最近的应用程序没有任何影响,这些应用程序从按下主页按钮的那一刻开始就是一个精确的快照(至少在我的OnePlus 6T上).例如 - 我仍然可以在最近的应用/应用切换器概述中看到平衡.
有没有办法用颤动来做到这一点?
你是说这个函数没有被调用?如果是,则需要添加以下内容,
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
298 次 |
| 最近记录: |