registerPeriodicTask method

Future<void> registerPeriodicTask(
  1. String uniqueName,
  2. String taskName, {
  3. Duration? frequency,
  4. String? tag,
  5. ExistingWorkPolicy? existingWorkPolicy,
  6. Duration initialDelay = Duration.zero,
  7. Constraints? constraints,
  8. BackoffPolicy? backoffPolicy,
  9. Duration backoffPolicyDelay = Duration.zero,
  10. OutOfQuotaPolicy? outOfQuotaPolicy,
  11. Map<String, dynamic>? inputData,
})

Schedules a periodic task that will run every provided frequency. A uniqueName is required so only one task can be registered. The taskName is the value that will be returned in the BackgroundTaskHandler a frequency is not required and will be defaulted to 15 minutes if not provided. a frequency has a minimum of 15 min. Android will automatically change your frequency to 15 min if you have configured a lower frequency. The inputData is the input data for task. Valid value types are: int, bool, double, String and their list

Implementation

Future<void> registerPeriodicTask(
  final String uniqueName,
  final String taskName, {
  final Duration? frequency,
  final String? tag,
  final ExistingWorkPolicy? existingWorkPolicy,
  final Duration initialDelay = Duration.zero,
  final Constraints? constraints,
  final BackoffPolicy? backoffPolicy,
  final Duration backoffPolicyDelay = Duration.zero,
  final OutOfQuotaPolicy? outOfQuotaPolicy,
  final Map<String, dynamic>? inputData,
}) async =>
    await _foregroundChannel.invokeMethod(
      "registerPeriodicTask",
      JsonMapperHelper.toRegisterMethodArgument(
        isInDebugMode: _isInDebugMode,
        uniqueName: uniqueName,
        taskName: taskName,
        frequency: frequency,
        tag: tag,
        existingWorkPolicy: existingWorkPolicy,
        initialDelay: initialDelay,
        constraints: constraints,
        backoffPolicy: backoffPolicy,
        backoffPolicyDelay: backoffPolicyDelay,
        outOfQuotaPolicy: outOfQuotaPolicy,
        inputData: inputData,
      ),
    );