GPS是否已激活-颤振

时间:2018-06-29 08:28:58

标签: dart flutter

是否有一种方法可以在Flutter中查明GPS是否已激活? 我使用的插件是location,但在那里我只能获取GPS的位置,而不能获取GPS的状态。

3 个答案:

答案 0 :(得分:8)

接受的答案使用了过时的插件,您可以使用Geolocator插件,

var geoLocator = Geolocator();
var status = await geoLocator.checkGeolocationPermissionStatus();

if (status == GeolocationStatus.denied) 
  // Take user to permission settings
else if (status == GeolocationStatus.disabled) 
  // Take user to location page
else if (status == GeolocationStatus.restricted) 
  // Restricted
else if (status == GeolocationStatus.unknown) 
  // Unknown
else if (status == GeolocationStatus.granted) 
  // Permission granted and location enabled

答案 1 :(得分:5)

使用geolocations,您可以检查定位服务是否正常运行。通常,它比位置包包含更多的可定制性。

final GeolocationResult result = await Geolocation.isLocationOperational();
if(result.isSuccessful) { 
    // location service is enabled, and location permission is granted 
} else { 
    // location service is not enabled, restricted, or location permission is denied 
}

答案 2 :(得分:1)

以前的答案已经过时。

使用最新版本的Geolocator 5.0

npm run build

我使用此方法检查并启用了Gps(如果已禁用)。

var isGpsEnabled = await Geolocator().isLocationServiceEnabled();