权限处理程序 - 位置不起作用(Flutter)

Permisson handler - location do not work (Flutter)

我在尝试使用位置时遇到权限处理程序问题。

当我点击 运行 gps func 时,一切似乎都很好。出现弹出窗口,我可以选择选项 - 允许、使用时允许等,但是当我选择允许或允许时它不打开位置。它工作得很好,只是不知何故停止了(权限设置为授予)。

当我手动打开它时(在我的设备上的位置),一切都像以前一样。我现在不明白为什么这个提示停止打开定位服务。

void _onGpsTap() async {
    bloc.emitEvent(DisplayProgressIndicator());
    try {
      permissionStatus = await Permission.location.status;
      if (permissionStatus.isUndetermined) {
        permissionStatus = await Permission.location.request(); // Here I'm asking for turning location on
      }
      if (permissionStatus.isDenied) {...

我正在使用

geolocator: ^5.3.1
permission_handler: 5.0.0+hotfix.3

试试下面的代码:-

var status = await Permission.location.request();
    if(status.isGranted){
      log("Permission Granted");
      getAddress();
    }
getAddress() async {
       Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
       latitude = position.latitude;
       longitude = position.longitude;
       if(latitude != null && longitude != null){
       apiCall();
       }
 }

permission_handler: ^8.1.4+2

geolocator: ^7.2.0+1

我发现无法通过 开启定位服务。颤动,用户必须手动操作。