修复不能成功绑定推送ID问题

This commit is contained in:
“DaisyWu” 2024-07-23 09:25:45 +08:00
parent 38002914ab
commit 9c35559272
3 changed files with 16 additions and 8 deletions

View File

@ -55,11 +55,6 @@ class StarLockLoginLogic extends BaseGetXController {
eventBus.fire(MineInfoChangeRefreshUI()); eventBus.fire(MineInfoChangeRefreshUI());
Get.offNamedUntil(Routers.starLockMain, (Route route) => false); Get.offNamedUntil(Routers.starLockMain, (Route route) => false);
BlueManage().scanDevices.clear(); // 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<void> flushedDeviceInfo() async {
XSConstantMacro().getDeviceInfoData().then((Map<String, dynamic> data) { XSConstantMacro().getDeviceInfoData().then((Map<String, dynamic> data) {
state.deviceInfoMap.value = data; state.deviceInfoMap.value = data;
}).catchError((dynamic error) { }).catchError((dynamic error) {

View File

@ -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/lockDetail/lockDetail/lockDetail_logic.dart';
import 'package:star_lock/main/lockMian/lockList/lockList_logic.dart'; import 'package:star_lock/main/lockMian/lockList/lockList_logic.dart';
import 'package:star_lock/tools/eventBusEventManage.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 'package:star_lock/tools/showTipView.dart';
import '../../../app_settings/app_settings.dart'; import '../../../app_settings/app_settings.dart';
@ -260,8 +261,14 @@ class LockMainLogic extends BaseGetXController {
} }
@override @override
void onReady() { Future<void> onReady() async {
super.onReady(); super.onReady();
// JPush服务并绑定设备ID
final XSJPushProvider jpushProvider = XSJPushProvider();
await jpushProvider.initJPushService();
await jpushProvider.bindDeviceID();
await jpushProvider.initLocalNotification(isCancelLocalPush: false);
// UDP // UDP
UdpHelp().openUDP(); UdpHelp().openUDP();
BlueManage(); BlueManage();

View File

@ -69,7 +69,13 @@ class XSJPushProvider {
Future<void> bindDeviceID() async { Future<void> bindDeviceID() async {
try { try {
AppLog.log('Fetching registration ID...'); 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'); AppLog.log('flutter get registration id : $rid');
await Storage.setString(pushDeviceID, rid); await Storage.setString(pushDeviceID, rid);
await pushBindDeviceID(rid, Platform.isAndroid ? 10 : 20); await pushBindDeviceID(rid, Platform.isAndroid ? 10 : 20);