ionic $cordovaGeolocation всегда запрашивает разрешение на доступ к местоположению
Я использую ionic и упаковщик геолокации ngCordova.
Вот фрагмент из контроллера с помощью плагина:
$ionicPlatform.ready(function () {
$cordovaGeolocation
.getCurrentPosition({timeout: 10000, enableHighAccuracy: false})
.then(permissionGranted)
.catch(permissionNotGranted)
.then(loadGmap)
.catch(handleGmapLoadError);
});
Я запускаю свое приложение, используя:
ionic run ios --device
Когда приложение появляется, меня спрашивают разрешение на доступ к местоположению телефона, как и ожидалось. Я подтверждаю это, и мой контроллер загружает мое местоположение в Google Maps. Я вижу, что разрешение, установленное в моих настройках ios, отражает сделанные настройки. когда я открываю приложение во второй раз, оно снова спрашивает. Это было неожиданное поведение.
Большинство приложений не спрашивают снова и снова. Кто-нибудь еще видел такое поведение и знает, что мне делать?
1 ответ
Вы можете попытаться добавить разрешение в конфигурационном файле (app/platform /android/res/xml/config.xml)<feature name="Geolocation">
<param name="android-package" value="org.apache.cordova.GeoBroker" />
</feature>
и в (app/platform /android/AndroidManifest.xml)
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />