Всегда возвращен отказано в обслуживании местоположения - PullRequest
0 голосов
/ 24 апреля 2020

Android Studio 2.6

Мне нужно проверить, включена ли служба определения местоположения.

Я использую плагин флаттера: geolocator 5.3.1 https://pub.dev/packages/geolocator

В моем приложении Flutter в AndroidManifest. xml:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

в info.plist:

 <key>NSLocationAlwaysUsageDescription</key>
    <string>This app needs access to location when in the background.</string>
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>This app needs access to location when open and in the background.</string>

Фрагмент:

 @override
  Widget build(BuildContext context) {
    Future<bool> enableLocationService = isLocationServiceEnable();
    if (enableLocationService == true) {
      _logger.e('enableLocationService = true');
    } else {
      _logger.e('enableLocationService = false');
    }

и вот способ проверки:

import 'package:geolocator/geolocator.dart';

Future<bool> isLocationServiceEnable() async {
  GeolocationStatus geolocationStatus =
  await Geolocator().checkGeolocationPermissionStatus();
  return (geolocationStatus == GeolocationStatus.denied);
}

На Android устройстве я включаю географическое местоположение. Кроме того, я предоставил разрешения на определение местоположения в моем приложении.

Но метод isLocationServiceEnable ВСЕГДА возвращает false.

geolocationStatus всегда = GeolocationStatus.denied

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...