【发布时间】:2022-02-06 11:29:01
【问题描述】:
在我的应用程序中,我有从 Api 获取数据的屏幕,有时后端可以更新或更改 api 上的某些内容,因此如果用户正在使用该应用程序,并且用户按下主页按钮(中间的 android 按钮。圆圈)并稍后返回应用程序,我没有看到数据正在更新,因此没有进行 api 调用,但是当我按下后退按钮并返回应用程序时,api 调用的进行与我关闭时相同应用程序并将其从打开的应用程序历史记录中删除并再次打开它,正在进行 api 调用,所以我需要在按下主页按钮时发生同样的情况,用户通过按下主页按钮退出应用程序,来返回,将进行 api 调用。我查看了它,并被告知我需要使用 WidgetsBindingObserver 类。任何帮助将不胜感激,如果您需要发布任何代码,请告诉我。
我试过了,但是不行
class _StopWorkingScreenState extends State<StopWorkingScreen>
with WidgetsBindingObserver {
late Future<Response> futureDataForStatus;
@override
void initState() {
super.initState();
futureDataForStatus = getLocationStatus();
WidgetsBinding.instance!.addObserver(this);
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.inactive:
print("Inactive");
break;
case AppLifecycleState.paused:
print("Paused");
break;
case AppLifecycleState.resumed:
futureDataForStatus;
break;
}
}
【问题讨论】:
标签: flutter dart flutter-layout flutter-dependencies