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

How to call locationManager.requestWhenInUseAuthorization function multiple times? Cordova

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

如您所知,在 iOS 它要求用户允许该应用使用位置信息。如果用户允许,则状态将保存在某处。我需要稍后请求用户允许应用程序使用 LocationManager,以防它被设置为 "not allow"。

这是我的资料:

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

这个requestWhenInUseAuthorization函数只调用了一次。我需要能够再次调用它来更新状态。 谁能帮帮我?

如果授权已经被授予,iOS 将不会向用户重新显示对话框,即使您调用该方法也是如此。如果用户拒绝授权或尚未回答,第二次调用该方法将再次向用户显示一个对话框。

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

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