我正在运行ionic和ngCordova地理位置包装器。
以下是使用该插件的控制器的代码段:
$ionicPlatform.ready(function () {
$cordovaGeolocation
.getCurrentPosition({timeout: 10000, enableHighAccuracy: false})
.then(permissionGranted)
.catch(permissionNotGranted)
.then(loadGmap)
.catch(handleGmapLoadError);
});
我使用以下方式运行我的应用程序:
ionic run ios --device
当应用程序出现时,我被要求允许按预期访问手机的位置。我承认它和我的控制器在谷歌地图中加载我的位置。我看到我的ios设置中的权限集反映了所做的设置。当我第二次打开应用程序时,它再次询问。这是出乎意料的行为。
大多数应用都不会一次又一次地问。有没有其他人看到这种行为,知道我应该怎么做?
答案 0 :(得分:-1)
您可以尝试在配置文件中添加权限(app / platforms / android / res / xml / config.xml)
<feature name="Geolocation">
<param name="android-package" value="org.apache.cordova.GeoBroker" />
</feature>
并在(app / platforms / 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" />