2017-06-27 51 views
0

我构建了一个使用Beacons插件的离子应用程序,该应用程序又使用LocationManager插件。 This is the tutorial I followed.如何多次调用locationManager.requestWhenInUseAuthorization函数? Cordova

正如您在iOS上所了解的,它要求用户允许该应用使用位置信息。如果用户允许,则状态保存在某处。如果设置为“不允许”,我需要稍后请求用户允许应用程序使用LocationManager

以下是我有:

requestWhenInUseAuthorization函数被调用一次。我需要能够再次调用它来更新状态。 任何人都可以帮助我吗?

回答

1

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

为了检查是否授权已被批准,你可以检查getAuthorizationStatus()这样的:

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

感谢大卫。有没有办法更新或删除状态并再次显示请求对话框? – Octtavius

+0

最终用户可以前往应用程序的设置,并随时撤销权限。但是,无法以编程方式删除权限。 – davidgyoung