ios - Geolocation.requestPermission() 只工作一次

标签 ios actionscript-3 air

我有一个应用程序需要请求永久访问地理定位权限(也在后台)以收集数据。 在应用程序启动时,我会像这样进行权限检查(简化)

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);
};

应用程序第一次启动时会被调用并运行。 现在,如果我退出应用程序,然后将权限更改为“从不”,然后重新启动应用程序,我可以看到

_geo.requestPermission();

被调用,但没有任何响应,我也没有看到 iOS 权限对话框。

有什么想法吗?非常感谢!

最佳答案

即使您卸载应用程序并重新安装,系统也只会请求一次权限,看起来它具有系统级缓存, 尝试转到设置 -> 常规 -> 重置 -> 重置位置和隐私

关于ios - Geolocation.requestPermission() 只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55348546/

相关文章:

ios - 如何在 Xcode 5.1.1 中禁用自动布局?

ios - Phonegap Build iOS 7和8 Statusbar控件

actionscript-3 - 神秘的 "watson"函数

actionscript-3 - Haxe (Flash) 和内联

ios - 使用 Adob​​e Air 转换适用于 iOS 的 Flash 文件

ios - 在 iOS 后台更新位置

c++ - 在 iOS App 中使用 Swift 的 C++ 库

apache-flex - 为什么 loaderInfo 仅在应用程序 Complete 触发后可用?

javascript - Flash/AS3 Google Maps API(弃用?)

android - 开发适用于 Android 和桌面的 Air (Flex) 应用程序