添加监听App生命周期状态,App进入后台或者锁屏的时候断开连接

This commit is contained in:
魏少阳 2024-04-29 17:38:57 +08:00
parent f7b4b39263
commit 93fd62678e

View File

@ -4,6 +4,8 @@ import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/blue/blue_manage.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/tools/app_manager.dart';
import 'package:star_lock/tools/bindings/app_binding.dart';
@ -115,8 +117,30 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
super.didChangeAppLifecycleState(state);
switch (state) {
case AppLifecycleState.inactive:
AppLog.log('App--->进入非活动状态');
break;
case AppLifecycleState.paused:
AppLog.log('App--->进入后台');
BlueManage().disconnect();
break;
case AppLifecycleState.resumed:
AppLog.log('App--->进入前台');
break;
case AppLifecycleState.detached:
AppLog.log('App--->挂起');
break;
case AppLifecycleState.hidden:
AppLog.log('App--->隐藏');
break;
}
}
}
Future<bool> getLoginStatus() async {
final data = await Storage.getString(saveUserLoginData);