是否有一种方法可以在Flutter中查明GPS是否已激活? 我使用的插件是location,但在那里我只能获取GPS的位置,而不能获取GPS的状态。
答案 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();