'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 |
---|