Geolocation.requestPermission()只能运行一次
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Geolocation.requestPermission()只能运行一次相关的知识,希望对你有一定的参考价值。
我有一个应用程序需要永久访问地理位置权限(也在后台)以收集数据。在应用程序开始我做了这样的权限检查(简化)
private static function check():void{
if (Geolocation.permissionStatus == PermissionStatus.GRANTED){
onPermGranted();
}else{
_geo = new Geolocation();
_geo.addEventListener(PermissionEvent.PERMISSION_STATUS, onPermission );
try {
_geo.locationAlwaysUsePermission = true;
_geo.requestPermission();
} catch(e:Error){
onError(e);
}
}
};
private static function onPermission(e:PermissionEvent):void{
trace("GeolocationUtil::onPermission: "+e.status);
};
应用程序第一次启动时,它会被调用并运行。现在,如果我退出应用程序,然后将权限更改为“never”,并重新启动应用程序,我可以看到
_geo.requestPermission();
被调用,但没有任何响应,我也没有得到ios权限对话框。
有任何想法吗?非常感谢!
答案
即使您卸载应用程序并重新安装它,系统也只会询问一次权限,看起来它有一个系统级缓存,请尝试转到设置 - >常规 - >重置 - >重置位置和隐私
以上是关于Geolocation.requestPermission()只能运行一次的主要内容,如果未能解决你的问题,请参考以下文章