hyzp_ybqx-Commit113:版本号更新为1.4.23+20220405。已实现启动App时查询是否存在待审核黑烟车记录,有便播放语言提醒,安装App后默认开启,启用时播放一次语音提醒。用户可以启用或关闭该功能。保证从后台唤醒时,能够及时正确更新“待审提醒”选择状态。

This commit is contained in:
WinUser01
2022-04-05 02:20:02 +08:00
parent 83cf35fd94
commit 2931cd6be6
10 changed files with 146 additions and 22 deletions
+27
View File
@@ -1,7 +1,11 @@
import 'dart:io';
import 'package:badges/badges.dart';
import 'package:disable_screenshots/disable_screenshots.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:hyzp_ybqx/components/dioFun.dart';
import 'package:hyzp_ybqx/components/hyxx_data_handle.dart';
import 'package:hyzp_ybqx/pages/tabs/page4_myMsics_new.dart';
//import '../../widget/player_pro.dart';
@@ -10,6 +14,7 @@ import '../../components/commonFun.dart';
import '../../services/ServiceLocator.dart';
import '../../services/Storage.dart';
import 'page1_work.dart';
import 'package:audioplayers/audio_cache.dart';
class Tabs extends StatefulWidget {
Tabs({Key key, this.arguments = 0}) : super(key: key);
@@ -70,6 +75,28 @@ class _TabsState extends State<Tabs> {
bPreLoading = false;
bLoginVerify = false; //处理延时登录,判断用户名登录是否验证通过
});
init();
}
init() async {
// // 从磁盘读取变量
// g_bVoiceRemind = await Storage.getBool('bVoiceRemind');
// g_bVoiceRemind = (null == g_bVoiceRemind) ? false : g_bVoiceRemind;
// // print('g_bVoiceRemind = $g_bVoiceRemind');
// eventBus.fire(VoiceRemindUpdate('g_bVoiceRemind 数据已更新'));
// 获取待审核黑烟车记录
listReviewed.clear();
await getReviewedList();
print("listReviewed = $listReviewed");
if (g_bVoiceRemind && listReviewed.length > 0) {
// if (g_bVoiceRemind) {
// import 'dart:io';
// import 'package:audioplayers/audio_cache.dart';
// print("播放:语音提醒.mp3");
AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒
}
}
double _activeIconWidth = 68;
+56 -21
View File
@@ -1,5 +1,6 @@
import 'dart:io';
import 'package:audioplayers/audio_cache.dart';
import 'package:badges/badges.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
@@ -14,6 +15,7 @@ import 'package:hyzp_ybqx/pages/Works/DWDT/dwInfo_data.dart';
import 'package:hyzp_ybqx/pages/Works/TJXX/tj_data.dart';
import 'package:hyzp_ybqx/pages/tabs/page5_userManager.dart';
import 'package:hyzp_ybqx/pages/tabs/page6_download.dart';
import 'package:hyzp_ybqx/services/EventBus.dart';
import 'package:hyzp_ybqx/widget/JdButton.dart';
import 'package:package_info/package_info.dart';
import 'package:path_provider/path_provider.dart';
@@ -82,6 +84,14 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
getListView();
//监听 g_bVoiceRemind 更新事件
eventBus.on<VoiceRemindUpdate>().listen((event) async {
print(event.str + ", g_bVoiceRemind = $g_bVoiceRemind");
setState(() {
getListView();
});
});
super.initState();
}
@@ -99,33 +109,38 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
//自定义方法
static onNullFun() {}
Widget _getListTile(title,
{String leadPath = '',
Color leadColor,
onTapFun = onNullFun,
onLongPressFun = onNullFun,
size = 16.0,
bool bBadge = false}) {
Widget _getListTile(
title, {
String leadPath = '',
Color leadColor,
Color textColor,
onTapFun = onNullFun,
onLongPressFun = onNullFun,
size = 16.0,
bool bBadge = false,
Widget trailWidget = const Icon(Icons.arrow_forward_ios),
}) {
// print("_getListTile bVoiceRemind = $bVoiceRemind"); // _getListTile bVoiceRemind = false
return Column(
children: <Widget>[
ListTile(
leading: bBadge
? Badge(
position: BadgePosition.topEnd(top: -7, end: -12),
badgeContent: null,
child: Image.asset(
leadPath,
height: ScreenUtil().setHeight(78),
fit: BoxFit.fitHeight,
),
)
position: BadgePosition.topEnd(top: -7, end: -12),
badgeContent: null,
child: Image.asset(
leadPath,
height: ScreenUtil().setHeight(78),
fit: BoxFit.fitHeight,
),
)
: Image.asset(
leadPath,
height: ScreenUtil().setHeight(78),
fit: BoxFit.fitHeight,
),
title: new Text(title, style: TextStyle(fontSize: size)),
trailing: new Icon(Icons.arrow_forward_ios),
leadPath,
height: ScreenUtil().setHeight(78),
fit: BoxFit.fitHeight,
),
title: Text(title, style: TextStyle(fontSize: size, color: textColor)),
trailing: trailWidget,
contentPadding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 0),
enabled: true,
onTap: onTapFun,
@@ -197,6 +212,14 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
leadColor: _deepBlueColor,
onTapFun: OnTap_download,
bBadge: bNewVer),
_getListTile('待审提醒',
leadPath: 'assets/images/语音提醒.png',
leadColor: _deepGreyColor,
textColor: g_bVoiceRemind ? Colors.blue : null,
onTapFun: OnTap_Remind,
trailWidget: g_bVoiceRemind
? Icon(Icons.check_box, color: Colors.blue)
: Icon(Icons.check_box_outline_blank, color: Colors.blueAccent)),
_getListTile('关于',
leadPath: 'assets/images/关于.png', leadColor: _deepBlueColor, onTapFun: OnTap_MyAbout)
@@ -414,6 +437,18 @@ class _Page4_MyMsicsNewState extends State<Page4_MyMsicsNew>
);
}
OnTap_Remind() {
setState(() {
g_bVoiceRemind = !g_bVoiceRemind;
print("bVoiceRemind = $g_bVoiceRemind");
Storage.setBool('bVoiceRemind', g_bVoiceRemind);
if (g_bVoiceRemind) {
AudioCache().play(File('audio/语音提醒.mp3').path); //语音提醒
}
getListView();
});
}
OnTap_MyAbout() {
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
String appName = packageInfo.appName;