flutter 的 permission_handler 插件申请定位权限失效

大家有用过 flutter-permission-handler 这个插件的吗,没开gps 申请不到定位权限
就想申请 ACCESS_COARSE_LOCATION 这个权限,返回的都是 PermissionStatus.disable

下面是部分代码

FlatButton(
    child: Text('申请定位权限'),
    onPressed: () async {
    ServiceStatus serviceStatus = 
        await PermissionHandler().checkServiceStatus(PermissionGroup.location);
    PermissionStatus status = 
        await PermissionHandler().checkPermissionStatus(PermissionGroup.locationWhenInUse);
    bool hasPermission = status == PermissionStatus.granted;
    if(!hasPermission) {
        Map<PermissionGroup, PermissionStatus> permissions = 
        await PermissionHandler().requestPermissions([PermissionGroup.location]);
        bool canLocation = permissions.values.toList()[0] == PermissionStatus.granted;
        if (!canLocation) {
        PermissionHandler().openAppSettings();
        }
    }
    print('#1  service status: ${serviceStatus.toString()}');
    print('#2 定位权限是否允许 ${status.toString()}');
    print('#3 是否有定位权限: $canLocation');
    },
);

下面是控制台输出

I/flutter (24688): #1  service status: ServiceStatus.disabled
I/flutter (24688): #2 定位权限是否允许 PermissionStatus.disabled
I/flutter (24688): #3 是否有定位权限: false

If location is set on battery saving (GPS off), checkPermissionStatus returns ServiceStatus.enabled #85

github 上找到一个 issus ,=_= 关闭gps,定位服务就会返回不可用。英语好的能上去提个issus吗,关闭gps情况下,申请网络定位的权限。

:face_with_raised_eyebrow: 最后用的 permission这个库,这个库请求权限的api不统一,需要引入 dart:io 的 Platform 为不同平台专门写授权申请。:sweat_smile:

666666 flutter-permission-handler这个插件我也用过,还没发现这个问题。