我正在开发一个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 6 T上)。E.g. -我仍然可以在最近的应用程序/应用程序切换器概览中看到余额。
有没有一种方法可以做到这一点与Flutter?
3条答案
按热度按时间4c8rllxm1#
您是说不调用此函数吗?如果是,则需要添加以下内容,
wgmfuz8q2#
你应该使用它的原生平台实现。在android中有一个叫做窗口管理器的东西,你必须设置它。
将其粘贴到MainActivity文件中,您应该可以看到它正在工作。
hwazgwia3#
将此软件包添加到您的pubspec.yaml privacy_screen
然后只需将此代码添加到您的main: