hyzp_ybqx-Commit172:添加和维护全局变量 tabsState,实现如果是安卓平台允许后台提醒,如果是IOS平台、必须在前台才提醒

问题:山不在高水不在深:
iOS App好像有点问题,就是登陆一次后,如果退出并切换其它程序,再切换回黑烟,虽然没有登陆,也会语音提醒,有新的黑烟车
master
WinUser01 3 years ago
parent a6aa8a449c
commit 59773d5007

@ -200,6 +200,7 @@ clear_user_info() {
center_latitude = -1; //
center_longitude = -1; //
userLogin = -1; //1 0 -1
tabsState = -1; //Tabs1 resumed0 paused-1
}
// 511528
@ -321,6 +322,10 @@ Future<void> sysPop() async {
await SystemChannels.platform.invokeMethod('SystemNavigator.pop');
}
int tabsState = -1; //Tabs1 resumed0 paused-1
// resumed
// inactive
// paused
int userLogin = -1; //1 0 -1
//

@ -2679,6 +2679,8 @@ Future faceLoginFun({@required String filePath, @required BuildContext context})
// APP04使faceLogin = 1
faceLogin = 1; //1 0 -1
userLogin = 1; //1 0 -1
tabsState = 1; //Tabs1 resumed0 paused-1
print("tabsState = $tabsState");
startGetStatisDataNew(); // 2
});
//
@ -2697,6 +2699,8 @@ Future faceLoginFun({@required String filePath, @required BuildContext context})
} else {
faceLogin = 0; //1 0 -1
userLogin = 0; //1 0 -1
tabsState = -1; //Tabs1 resumed0 paused-1
print("tabsState = $tabsState");
print('人脸验证失败。');
Navigator.pushNamed(context, '/');
Fluttertoast.showToast(

@ -161,6 +161,8 @@ class _LoginPageState extends State<LoginByName3> {
print('登录成功');
print('response.data = ${response.data}');
userLogin = 1; //1 0 -1
tabsState = 1; //Tabs1 resumed0 paused-1
print("tabsState = $tabsState");
// APP02
if (bRemmberPW) {
@ -209,6 +211,8 @@ class _LoginPageState extends State<LoginByName3> {
} else {
print('登录失败:${response.data["data"]}');
userLogin = 0; //1 0 -1
tabsState = -1; //Tabs1 resumed0 paused-1
print("tabsState = $tabsState");
bLoginVerify = false; //
bPreLoading = false;
try_setState(); //

@ -28,7 +28,7 @@ class Tabs extends StatefulWidget {
_TabsState createState() => _TabsState();
}
class _TabsState extends State<Tabs> {
class _TabsState extends State<Tabs> with WidgetsBindingObserver {
//
DisableScreenshots _watermarkPlugin = DisableScreenshots();
@ -86,6 +86,33 @@ class _TabsState extends State<Tabs> {
});
init();
tabsState = 1; //Tabs1 resumed0 paused-1
print("tabsState = $tabsState");
//
WidgetsBinding.instance.addObserver(this);
}
//App
@override
void didChangeAppLifecycleState(AppLifecycleState state) async {
print("$state");
tabsState = -1; //Tabs1 resumed0 paused-1
switch (state) {
//
case AppLifecycleState.inactive:
break;
case AppLifecycleState.resumed: //
tabsState = 1; //Tabs1 resumed0 paused-1
break;
case AppLifecycleState.paused: //
case AppLifecycleState.detached: // APP
break;
}
print("tabsState = $tabsState");
// resumed
// inactive
// paused
}
init() async {
@ -97,7 +124,10 @@ class _TabsState extends State<Tabs> {
WidgetsFlutterBinding.ensureInitialized();
FlutterBackgroundService.initialize(onStart);
if (g_bVoiceRemind) {
doRemind();
// IOS
if (Platform.isAndroid || (Platform.isIOS && 1 == tabsState)) {
doRemind();
}
} else {
Future.delayed(Duration(seconds: 1), () {
FlutterBackgroundService().sendData({"action": "stopService"});
@ -108,6 +138,8 @@ class _TabsState extends State<Tabs> {
@override
void dispose() {
//
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}

Loading…
Cancel
Save