From 9c355592729bec2beea36fe44f045fbb6d37f29b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Tue, 23 Jul 2024 09:25:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8D=E8=83=BD=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E7=BB=91=E5=AE=9A=E6=8E=A8=E9=80=81ID=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/login/login/starLock_login_logic.dart | 7 +------ lib/main/lockMian/lockMain/lockMain_logic.dart | 9 ++++++++- lib/tools/push/xs_jPhush.dart | 8 +++++++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart index c0edc5bd..c6e5745f 100755 --- a/lib/login/login/starLock_login_logic.dart +++ b/lib/login/login/starLock_login_logic.dart @@ -55,11 +55,6 @@ class StarLockLoginLogic extends BaseGetXController { eventBus.fire(MineInfoChangeRefreshUI()); Get.offNamedUntil(Routers.starLockMain, (Route route) => false); BlueManage().scanDevices.clear(); //清除设备缓存 - // 初始化JPush服务并绑定设备ID - final XSJPushProvider jpushProvider = XSJPushProvider(); - await jpushProvider.initJPushService(); - await jpushProvider.bindDeviceID(); - await jpushProvider.initLocalNotification(isCancelLocalPush: false); } } @@ -107,7 +102,7 @@ class StarLockLoginLogic extends BaseGetXController { } //刷新设备信息 - void flushedDeviceInfo() { + Future flushedDeviceInfo() async { XSConstantMacro().getDeviceInfoData().then((Map data) { state.deviceInfoMap.value = data; }).catchError((dynamic error) { diff --git a/lib/main/lockMian/lockMain/lockMain_logic.dart b/lib/main/lockMian/lockMain/lockMain_logic.dart index 32852a77..8833f961 100755 --- a/lib/main/lockMian/lockMain/lockMain_logic.dart +++ b/lib/main/lockMian/lockMain/lockMain_logic.dart @@ -11,6 +11,7 @@ import 'package:star_lock/flavors.dart'; import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_logic.dart'; import 'package:star_lock/main/lockMian/lockList/lockList_logic.dart'; import 'package:star_lock/tools/eventBusEventManage.dart'; +import 'package:star_lock/tools/push/xs_jPhush.dart'; import 'package:star_lock/tools/showTipView.dart'; import '../../../app_settings/app_settings.dart'; @@ -260,8 +261,14 @@ class LockMainLogic extends BaseGetXController { } @override - void onReady() { + Future onReady() async { super.onReady(); + // 初始化JPush服务并绑定设备ID + final XSJPushProvider jpushProvider = XSJPushProvider(); + await jpushProvider.initJPushService(); + await jpushProvider.bindDeviceID(); + await jpushProvider.initLocalNotification(isCancelLocalPush: false); + // 开启UDP UdpHelp().openUDP(); BlueManage(); diff --git a/lib/tools/push/xs_jPhush.dart b/lib/tools/push/xs_jPhush.dart index 2993aaee..b4defb24 100755 --- a/lib/tools/push/xs_jPhush.dart +++ b/lib/tools/push/xs_jPhush.dart @@ -69,7 +69,13 @@ class XSJPushProvider { Future bindDeviceID() async { try { AppLog.log('Fetching registration ID...'); - final String rid = await jpush.getRegistrationID(); + String rid; + rid = await jpush.getRegistrationID(); + if (rid.isEmpty) { + AppLog.log('Registration ID is empty.'); + rid = await jpush.getRegistrationID(); + return; + } AppLog.log('flutter get registration id : $rid'); await Storage.setString(pushDeviceID, rid); await pushBindDeviceID(rid, Platform.isAndroid ? 10 : 20);