修改首次安装应用推送未成功绑定设备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);
XSJPushProvider().initJPushService();
XSJPushProvider().initLocalNotification(false);
}
@override

View File

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

View File

@ -1,7 +1,6 @@
import 'dart:async';
import 'package:flutter/material.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/translations/trans_lib.dart';
import 'app.dart';
@ -18,8 +17,6 @@ FutureOr<void> main() async {
//
await _initTranslation();
initLocalNotification();
runApp(MyApp());
if (AppPlatform.isAndroid) {
@ -48,14 +45,3 @@ Future _setCommonServices() async {
}
// 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/mineSet/mineSet_state.dart';
import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/tools/xs_jPhush.dart';
import '../../../../network/api_repository.dart';
import '../../../../tools/baseGetXController.dart';
import '../../../blue/blue_manage.dart';
@ -55,6 +56,7 @@ class MineSetLogic extends BaseGetXController {
UdpHelp().closeUDP();
logOut();
BlueManage().disconnect();
XSJPushProvider().initLocalNotification(true);
Get.offNamedUntil(Routers.starLockLoginPage, (route) => false);
}
}
@ -80,8 +82,8 @@ class MineSetLogic extends BaseGetXController {
// eventBus
_getNumberEvent =
eventBus.on<ChangeLanguageBlockLastLanguageEvent>().listen((event) {
state.currentLanguage.value = event.languageTitle;
});
state.currentLanguage.value = event.languageTitle;
});
}
@override

View File

@ -2,8 +2,6 @@ import 'dart:typed_data';
import 'package:flutter_easyloading/flutter_easyloading.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 '../../blue/io_tool/io_tool.dart';

View File

@ -1,5 +1,7 @@
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:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
@ -48,6 +50,23 @@ class XSJPushProvider {
void pushBindDeviceID(String deviceID, int deviceType) async {
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();
}
}
}