如何多次调用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){
...
});
我构建了一个离子应用程序,它使用 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){
...
});