ionic $ cordovaGeolocation始终要求获得位置访问权限

时间:2016-02-21 06:25:40

标签: ios cordova ionic-framework ngcordova

我正在运行ionic和ngCordova地理位置包装器。

以下是使用该插件的控制器的代码段:

  $ionicPlatform.ready(function () {
                $cordovaGeolocation
                    .getCurrentPosition({timeout: 10000, enableHighAccuracy: false})
                    .then(permissionGranted)
                    .catch(permissionNotGranted)
                    .then(loadGmap)
                    .catch(handleGmapLoadError);
            });

我使用以下方式运行我的应用程序:

ionic run ios --device

当应用程序出现时,我被要求允许按预期访问手机的位置。我承认它和我的控制器在谷歌地图中加载我的位置。我看到我的ios设置中的权限集反映了所做的设置。当我第二次打开应用程序时,它再次询问。这是出乎意料的行为。

大多数应用都不会一次又一次地问。有没有其他人看到这种行为,知道我应该怎么做?

1 个答案:

答案 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" />