修改首次安装应用推送未成功绑定设备ID问题

修复本地通知退出登录后仍可收到问题
This commit is contained in:
Daisy 2024-03-28 18:09:28 +08:00
parent 2f54846739
commit c6b61d1cb1
6 changed files with 29 additions and 19 deletions

View File

@ -101,6 +101,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
WidgetsBinding.instance.addObserver(this); WidgetsBinding.instance.addObserver(this);
XSJPushProvider().initJPushService(); XSJPushProvider().initJPushService();
XSJPushProvider().initLocalNotification(false);
} }
@override @override

View File

@ -1,7 +1,10 @@
import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart'; import 'package:star_lock/appRouters.dart';
import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/xs_jPhush.dart';
import '../../mine/mine/starLockMine_logic.dart'; import '../../mine/mine/starLockMine_logic.dart';
import '../../network/api_repository.dart'; import '../../network/api_repository.dart';
@ -19,6 +22,7 @@ class StarLockLoginLogic extends BaseGetXController {
Storage.saveLoginData(entity.data); Storage.saveLoginData(entity.data);
// Get.back(); // Get.back();
// Get.toNamed(Routers.starLockMain); // Get.toNamed(Routers.starLockMain);
XSJPushProvider().initJPushService();
Get.offNamedUntil(Routers.starLockMain, (route) => false); Get.offNamedUntil(Routers.starLockMain, (route) => false);
} }
} }

View File

@ -1,7 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:star_lock/flavors.dart'; import 'package:star_lock/flavors.dart';
import 'package:star_lock/translations/trans_lib.dart'; import 'package:star_lock/translations/trans_lib.dart';
import 'app.dart'; import 'app.dart';
@ -18,8 +17,6 @@ FutureOr<void> main() async {
// //
await _initTranslation(); await _initTranslation();
initLocalNotification();
runApp(MyApp()); runApp(MyApp());
if (AppPlatform.isAndroid) { if (AppPlatform.isAndroid) {
@ -48,14 +45,3 @@ Future _setCommonServices() async {
} }
// Get.log(PlatformInfoService.to.info.version); // Get.log(PlatformInfoService.to.info.version);
} }
initLocalNotification() async {
WidgetsFlutterBinding.ensureInitialized();
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('app_icon');
const InitializationSettings initializationSettings =
InitializationSettings(android: initializationSettingsAndroid);
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
}

View File

@ -5,6 +5,7 @@ import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart'; import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart';
import 'package:star_lock/mine/mineSet/mineSet/mineSet_state.dart'; import 'package:star_lock/mine/mineSet/mineSet/mineSet_state.dart';
import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/tools/xs_jPhush.dart';
import '../../../../network/api_repository.dart'; import '../../../../network/api_repository.dart';
import '../../../../tools/baseGetXController.dart'; import '../../../../tools/baseGetXController.dart';
import '../../../blue/blue_manage.dart'; import '../../../blue/blue_manage.dart';
@ -55,6 +56,7 @@ class MineSetLogic extends BaseGetXController {
UdpHelp().closeUDP(); UdpHelp().closeUDP();
logOut(); logOut();
BlueManage().disconnect(); BlueManage().disconnect();
XSJPushProvider().initLocalNotification(true);
Get.offNamedUntil(Routers.starLockLoginPage, (route) => false); Get.offNamedUntil(Routers.starLockLoginPage, (route) => false);
} }
} }
@ -80,8 +82,8 @@ class MineSetLogic extends BaseGetXController {
// eventBus // eventBus
_getNumberEvent = _getNumberEvent =
eventBus.on<ChangeLanguageBlockLastLanguageEvent>().listen((event) { eventBus.on<ChangeLanguageBlockLastLanguageEvent>().listen((event) {
state.currentLanguage.value = event.languageTitle; state.currentLanguage.value = event.languageTitle;
}); });
} }
@override @override

View File

@ -2,8 +2,6 @@ import 'dart:typed_data';
import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/monitoring/monitoring/lockMonitoring_logic.dart';
import 'package:star_lock/main/lockDetail/monitoring/monitoring/lockMonitoring_state.dart';
import 'package:star_lock/talk/udp/udp_manage.dart'; import 'package:star_lock/talk/udp/udp_manage.dart';
import '../../blue/io_tool/io_tool.dart'; import '../../blue/io_tool/io_tool.dart';

View File

@ -1,5 +1,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:jpush_flutter/jpush_flutter.dart'; import 'package:jpush_flutter/jpush_flutter.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/baseGetXController.dart';
@ -48,6 +50,23 @@ class XSJPushProvider {
void pushBindDeviceID(String deviceID, int deviceType) async { void pushBindDeviceID(String deviceID, int deviceType) async {
var entity = await ApiRepository.to.pushBindAppId(deviceID, deviceType); var entity = await ApiRepository.to.pushBindAppId(deviceID, deviceType);
if (entity.errorCode!.codeIsSuccessful) {} if (entity.errorCode!.codeIsSuccessful) {
print("绑定成功");
}
}
initLocalNotification(bool isCancelLocalPush) async {
WidgetsFlutterBinding.ensureInitialized();
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('app_icon');
const InitializationSettings initializationSettings =
InitializationSettings(android: initializationSettingsAndroid);
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
if (isCancelLocalPush) {
await flutterLocalNotificationsPlugin.cancelAll();
}
} }
} }