Как включить разрешения отслеживания местоположения из самого приложения? - PullRequest
0 голосов
/ 15 декабря 2018

Я использую google_maps_flutter и location плагины для отображения местоположения пользователя в моем приложении.Я хочу включить разрешения gps в самом приложении, это кажется тривиальным, но когда я попытался использовать плагины (например, Разрешение плагин), я могу включить только разрешения приложений для доступа к местоположению, а не разрешения gps.Я могу проверить местоположение и подать тост, если разрешения нет, но как включить его в самом приложении?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Я думаю, что вы хотите открыть настройки местоположения, а не разрешения, которые включены в AndroidManifest.Кроме того, большинство плагинов geolocator содержат метод разрешения запроса, если вам это нужно, а не настройки.

Если вы хотите, чтобы пользователь открыл и включил местоположение, в Android, я думаю, вам нужно будетсоздайте намерение, чтобы оно выглядело примерно так ..

import 'package:android_intent/android_intent.dart';

Then in your class...

static Future makeLocationDialogRequest() async { 

  final AndroidIntent intent = new AndroidIntent(
    action: 'android.settings.LOCATION_SOURCE_SETTINGS',);

  intent.launch();
}

А потом, возможно, сделайте проверку, используя выбранный вами плагин, чтобы проверить, действительно ли пользователь включил местоположение.

Обратите внимание, что это только для Android, поэтому заранее проверьте, если это устройство Android, например,

var platform = Theme.of(context).platform;

С дополнительной информацией об android_intent здесь

0 голосов
/ 15 декабря 2018

Обычно вам нужно только включить разрешения для файла manifest.xml (на Android), например:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />
<uses-permission android:name="android.permission.INTERNET" />

или для iOS, добавив эти значения в info.plist

NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription

Однако, если вы хотите проверить или , спросить о конкретном разрешении во время выполнения, вы можете сделать это с пакетом simple_permissions .

...