getLocationSettings static method

LocationSettings getLocationSettings({
  1. LocationAccuracy accuracy = LocationAccuracy.high,
  2. ActivityType activityType = ActivityType.automotiveNavigation,
  3. int distanceFilter = 100,
  4. Duration interval = const Duration(seconds: 10),
  5. String notificationTitle = "Running in Background",
  6. String notificationText = "App will continue to receive your location even when you aren't using it",
})

Implementation

static LocationSettings getLocationSettings({
  LocationAccuracy accuracy = LocationAccuracy.high,
  ActivityType activityType = ActivityType.automotiveNavigation,
  int distanceFilter = 100,
  Duration interval = const Duration(seconds: 10),
  String notificationTitle = "Running in Background",
  String notificationText = "App will continue to receive your location even when you aren't using it",
}) {
  late LocationSettings locationSettings;

  if (defaultTargetPlatform == TargetPlatform.android) {
    locationSettings = AndroidSettings(
      accuracy: accuracy,
      distanceFilter: distanceFilter,
      intervalDuration: interval,
      foregroundNotificationConfig: ForegroundNotificationConfig(
        notificationTitle: notificationTitle,
        notificationText: notificationText,
        enableWakeLock: true,
      ),
    );
  } else if (defaultTargetPlatform == TargetPlatform.iOS || defaultTargetPlatform == TargetPlatform.macOS) {
    locationSettings = AppleSettings(
      accuracy: accuracy,
      activityType: activityType,
      distanceFilter: distanceFilter,
      showBackgroundLocationIndicator: true,
      allowBackgroundLocationUpdates: true,
      pauseLocationUpdatesAutomatically: false,
    );
  } else if (kIsWeb) {
    locationSettings = WebSettings(
      accuracy: accuracy,
      distanceFilter: distanceFilter,
      maximumAge: Duration(minutes: 5),
    );
  } else {
    locationSettings = LocationSettings(
      accuracy: accuracy,
      distanceFilter: distanceFilter,
    );
  }

  return locationSettings;
}