Включить службы определения местоположения без перехода на страницу настроек?Флаттер дротик - PullRequest
0 голосов
/ 28 января 2019

Мы мигрируем из Флаттера.Мы использовали эту ветку, чтобы включить службы определения местоположения без перехода на страницу настроек

Как этого можно достичь во флаттере?

Текущий временный код, который перемещается к настройкам:

  Future _getCurrentLocation() async {
    Position position;
    try {
      position = await Geolocator().getCurrentPosition(
          desiredAccuracy: LocationAccuracy.bestForNavigation);
    } on PlatformException catch(e){
      print(e.code);
      if(e.code =='PERMISSION_DISABLED'){
        print('Opening settings');
        await openLocationSetting();
        try {
          position = await Geolocator().getCurrentPosition(
              desiredAccuracy: LocationAccuracy.bestForNavigation);
        } on PlatformException catch(e){
          print(e.code);
        }
      }
    }

    setState(() {
//      _center = LatLng(currentLocation['latitude'], currentLocation['longitude']);
      _center = LatLng(position.latitude, position.longitude);
    });
  }
  Future openLocationSetting() async {
    final AndroidIntent intent = new AndroidIntent(
      action: 'android.settings.LOCATION_SOURCE_SETTINGS',
    );
    await intent.launch();

  }

1 Ответ

0 голосов
/ 23 марта 2019

Вы можете использовать пакет location , вам просто нужно добавить необходимые разрешения в файлы AndroidManifest.xml и Info.plist, разрешение будет запрошено во всплывающем окне.

...