有没有办法检测应用程序何时最小化?简单地使用WidgetsBindingObserver该paused事件是行不通的,因为它与用户关闭屏幕/手机锁时无法区分。请注意,我需要它同时适用于 android 和 ios。
我正在做的事情的一些背景。在应用程序中,我正在运行一个计时器。如果用户最小化应用程序(例如将其手机用于其他用途),我想停止此计时器。但是,如果用户关闭屏幕/锁定屏幕,我希望计时器继续。
我建议看一下这个包:is_lock_screen
正如描述所示
用于确定应用程序是否由于锁定屏幕或离开应用程序而进入后台。
我会尝试这样做:
@override
void didChangeAppLifecycleState(AppLifecycleState state) async {
super.didChangeAppLifecycleState(state);
if (state == AppLifecycleState.inactive) {
final isLock = await isLockScreen();
if(!isLock){
print('app inactive MINIMIZED!');
}
print('app inactive in lock screen!');
} else if (state == AppLifecycleState.resumed) {
print('app resumed');
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5711 次 |
| 最近记录: |