# 开启定位后没有定位授权的弹窗

#### 问题现象

应用在启用定位功能时，未弹出请求授权的提示，导致定位未能成功。

#### 背景知识

应用在使用Location Kit系统能力前，需要检查是否已经获取用户授权访问设备位置信息。如未获得授权，可以向用户申请需要的位置权限。系统提供的定位权限有：

*   ohos.permission.LOCATION：用于获取精准位置，精准度在米级别。
*   ohos.permission.APPROXIMATELY\_LOCATION：用于获取模糊位置，精确度为5公里。
*   ohos.permission.LOCATION\_IN\_BACKGROUND：用于应用切换到后台仍然需要获取定位信息的场景。

#### 问题定位

1.  查看module.json5配置文件中是否已经申请了ohos.permission.LOCATION定位权限。也可以通过查看对应时间点的hilog日志，在用户提供的日志中搜索权限ohos.permission.LOCATION，返回结果flag=0表示权限请求的结果为未授权或权限不存在。
    
    ```
    [GetPermissionFlag:386]GetPermissionFlag called, tokenID: xxxxxxxxx, permissionName: ohos.permission.LOCATION
    [GetPermissionFlag:312]Result from server()error=0, flag=0)
    ```
    
2.  申请了权限之后需要查看requestPermissionsFromUser()方法中是否向用户申请授权。

#### 分析结论

1.  未配置定位权限。
2.  未向用户申请授权，如果没有授权用户收不到定位授权的弹窗无法获取定位信息。

#### 修改建议

1.  在module.json5中配置ohos.permission.LOCATION定位权限，可参考：申请位置权限开发指导。
2.  使用requestPermissionsFromUser()方法向用户申请授权。