我有一个非常不同的情况,
我正在寻找一种解决方案,如果有人试图强行关闭该应用程序,则需要在关闭之前清除sharedprefrences数据。因此,如果用户返回到应用,则需要再次重新登录 任何帮助都会得到申请。
关于, 尼基尔
答案 0 :(得分:0)
在移动系统上,通常不应根据应用程序是否在后台被杀死而表现不同。用户不应该知道应用程序的生命周期,这只是操作系统进行内存/电池管理的问题。
话虽如此。 iOS本身具有生命周期挂钩(applicationWillTerminate
的{{1}}和AppDelegate
的Android onDestroy
)。但是此时,您可能不希望应用程序有足够的时间与Flutter / Dart代码进行异步通信,然后再次返回以进行所需的清理。
所以我建议您仔细看一下您的用例。一种方法是使用Application
来侦听WidgetsBinding.instance.addObserver
,以将状态更改为didChangeAppLifecycleState
并进行清理。因此,当用户离开您的应用并再次返回时(无论该应用是否同时被杀死),您都可以显示一个新的登录提示。
flutter documentation on how to add a observer中有一个示例。
AppLifecycleState.pause