如何多次调用locationManager.requestWhenInUseAuthorization函数?科尔多瓦

时间:2017-06-27 14:50:46

标签: javascript cordova ionic-framework cordova-plugins ibeacon

我构建了一个使用Beacons插件的离子应用程序,后者又使用LocationManager插件。 This is the tutorial I followed.

正如您在iOS上所知,它要求用户允许该应用使用位置。如果用户允许,则状态将保存在某处。我需要稍后请求用户允许该应用使用LocationManager,以防它被设置为“不允许”。

这就是我所拥有的:

var requestAuthorizationFunction = function()  {
    cordova.plugins.locationManager.requestWhenInUseAuthorization();
}

requestWhenInUseAuthorization函数仅调用一次。我需要能够再次调用它来更新状态。 有谁可以帮助我?

1 个答案:

答案 0 :(得分:1)

如果已授予授权,即使您调用该方法,iOS也不会向用户重新显示该对话框。如果用户已拒绝授权或尚未应答,则再次调用该方法将再次向用户显示对话框。

为了检查是否已授予授权,您可以像这样检查getAuthorizationStatus()

cordova.plugins.locationManager.getAuthorizationStatus()
    .then(function(authorized){
    ...
});