background_location 0.1.2

Flutter Android iOS

A Flutter plugin to get location updates in the background for both Android and iOS. Uses CoreLocation for iOS and FusedLocationProvider for Android.

Background Location #

A Flutter plugin to get location updates in the background for both Android and iOS (Requires iOS 10.0+). Uses CoreLocation for iOS and FusedLocationProvider for Android

Getting Started #

1: Add this to your package's pubspec.yaml file:

dependencies:
  background_location: ^0.1.2

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.

How to use #

Import the package where you wanna use it.

import 'package:background_location/background_location.dart';

Request permissions from the user.

BackgroundLocation.getPermissions(
  onGranted: () {
    // Start location service here or do something else
  },
  onDenied: () {
    // Show a message asking the user to reconsider or do something else
  },
)

You can check if you have permissions at anytime with checkPermissions()

BackgroundLocation.checkPermissions().then((status) {
  // Check status here
})

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;
double time;

To stop listening to location changes you can execute.

BackgroundLocation.stopLocationService();

Example #

Complete working application Example

Todo #

  • [x] Add support for manually asking for permission.
  • [x] Add support for checking the permission status.
  • [ ] Add support for getting the last location once without listening to location updates.
  • [ ] Add support for chosing the rate at the which the location is fetched based on time and distance.
40
likes
90
pub points
88%
popularity

A Flutter plugin to get location updates in the background for both Android and iOS. Uses CoreLocation for iOS and FusedLocationProvider for Android.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploader

ali.almoullim@gmail.com

License

Apache 2.0 (LICENSE)

Dependencies

flutter, permission_handler

More

Packages that depend on background_location