A Flutter plugin to get location updates in the background for both Android and iOS. Uses CoreLocation
for iOS and FusedLocationProvider
for Android
PS: This project was originaly created by @shah-xad for Android only.
1: Add this to your package's pubspec.yaml file:
dependencies:
background_location: ^0.0.4
2: Install packages from the command line:
$ flutter packages get
Alternatively, your editor might support flutter packages get. Check the docs for your editor to learn more.
Import the package where you wanna use it.
import 'package:background_location/background_location.dart';
Start the location service. This will also ask the user for permission if not asked previously by another package.
BackgroundLocation.startLocationService();
getLocationUpdates
will trigger everytime the location updates on the device. Provide a callback function to getLocationUpdates
to handle location update.
BackgroundLocation.getLocationUpdates((location) {
print(location);
});
location is a Class
exposing the following properties.
double latitude;
double longitude;
double altitude;
double bearing;
double accuracy;
double speed;
To stop listening to location changes you can execute.
BackgroundLocation.stopLocationService();
Complete working application Example
- Add support for manually asking for permission.
- Add support for checking the permission status.
- Add support for getting the last location once without listening to location updates.
- Ali Almoullim (@almoullim) -- iOS implementation
- Shahzad Akram (@shah-xad) -- Android implementation