'Location service status couldn't be determined when try to retrieve location data via a backgroud service

everyone, I'm trying to get the location data every time the application run a script via a background service for same reasons, but I got every time

Location service status couldn't be determined

error, I'm using the Location package version 4.3.0 and gradle 4.1.0.

my current code is:

static final Location location = Location();
static Future<String> prepareSocketData(String deviceId) async{
    await getLocationData();
    return '';
}
static getLocationData() async{
    bool _serviceEnabled;
    PermissionStatus _permissionGranted;
    LocationData _locationData;

    _serviceEnabled = await location.serviceEnabled();
    if (!_serviceEnabled) {
      _serviceEnabled = await location.requestService();
      if (!_serviceEnabled) {
        //return; //Send LocationProviderDisabled alert

      }else{
        //Send LocationProviderEnable alert
        _permissionGranted = await location.hasPermission();
        if (_permissionGranted == PermissionStatus.denied) {
          _permissionGranted = await location.requestPermission();
          if (_permissionGranted != PermissionStatus.granted) {
            //return; //Send LocationPermissionDisabled alert
          }else{
            //get Location
            _locationData = await location.getLocation();
            print(_locationData.speed);
            print(_locationData.satelliteNumber);
            print(_locationData.heading);
            print(_locationData.latitude);
            print(_locationData.longitude);
          }
        }else{
          //get Location
          _locationData = await location.getLocation();
            print(_locationData.speed);
            print(_locationData.satelliteNumber);
            print(_locationData.heading);
            print(_locationData.latitude);
            print(_locationData.longitude);
        }
      }
    }
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source