getLocationSettings static method
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",
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;
}