startBackgroundSync static method
Inicia a sincronização em background
Implementation
static Future<void> startBackgroundSync() async {
if (!_isInitialized) {
await initialize();
}
try {
await Workmanager().cancelByUniqueName(SyncConstants.backgroundSyncTaskName);
// Registrar nova tarefa periódica
await Workmanager().registerPeriodicTask(
SyncConstants.backgroundSyncTaskName,
SyncConstants.backgroundSyncTaskName,
frequency: SyncConstants.backgroundSyncFrequency,
initialDelay: SyncConstants.backgroundSyncInterval,
constraints: Constraints(
networkType: NetworkType.connected,
requiresBatteryNotLow: true,
),
backoffPolicy: BackoffPolicy.exponential,
backoffPolicyDelay: const Duration(minutes: 5),
);
_isInitialized = true;
SyncUtils.debugLog('Sincronização em background iniciada', tag: 'BackgroundSyncService');
} catch (e) {
SyncUtils.debugLog('Erro ao iniciar sincronização em background: $e', tag: 'BackgroundSyncService');
rethrow;
}
}