uniapp真机运行鸿蒙定位报getLocation:fail maybe not obtain GPS Permission

1. uniapp真机运行鸿蒙定位报getLocation:fail maybe not obtain GPS Permission

uniapp真机运行鸿蒙定位报getLocation:fail maybe not obtain GPS Permission。

1.1. 问题原因分析

(1)未在 manifest.json 中配置定位权限

在 HarmonyOS 应用中,你需要在 manifest.json 文件中显式声明定位权限,否则系统不会授予应用访问位置信息的权限。

(2)未在鸿蒙设备上开启定位权限

即使你在代码中申请了权限,如果用户没有手动在系统设置中开启定位权限,应用也无无法获取位置信息。

(3)未正确调用 uni.getLocation() 或 getlocation 方法

有些版本的 UniApp 对 HarmonyOS 的支持不够完善,可能需要额外处理或使用原生 API。

1.2. 解决方案

官方文档:https://uniapp.dcloud.net.cn/api/location/location.html#harmony-set-location

把 unpackages/dist/dev/app-harmony/entry/src/main/module.json5 文件复制放到 [HBuilderX 工程目录]/harmony-configs/entry/src/main/module.json5

把 unpackages/dist/dev/app-harmony/entry/src/main/resources/base/element/string.json 将其复制到 [HBuilderX 工程目录]/harmony-configs/entry/src/main/resources/base/element/string.json

编辑 module.json5,在 requestPermissions 中添加下面代码

javascript 复制代码
{
  "name": "ohos.permission.APPROXIMATELY_LOCATION",
  "reason": "$string:location_reason",
  "usedScene": {
    "when": "inuse"
  }
},
{
  "name": "ohos.permission.LOCATION",
  "reason": "$string:location_reason",
  "usedScene": {
    "when": "inuse"
  }
}

里的定位和模糊定位务必同时存在,否则会被上架驳回。在 api 可在 isHighAccuracy 属性中切换。

这里的 reason 值为 $string: 开头,不可直接中文字符,需要使用资源引用。编辑刚才复制的 harmony-config 目录中的 string.json,添加下面代码并改写 value。

javascript 复制代码
 {
  "name": "location_reason",
  "value": "用于提供 xx 服务"
}
相关推荐
liulian091617 小时前
Flutter 三方库 flutter_local_auth 的鸿蒙化适配指南
flutter·华为·学习方法·harmonyos
SuperHeroWu717 小时前
【鸿蒙基础入门】概念理解和学习方法论说明
前端·学习·华为·开源·harmonyos·鸿蒙·移动端
亘元有量-流量变现18 小时前
抓住鸿蒙流量红利!2026华为应用商店ASO优化全解
华为·harmonyos·aso优化
特立独行的猫a18 小时前
使用 vcpkg 为OpenHarmony(鸿蒙PC)构建 OpenSSH 命令行工具
harmonyos·openharmony·命令行·openssh·vcpkg·鸿蒙pc
音视频牛哥18 小时前
纯血鸿蒙(HarmonyOS NEXT)下,如何实现低延迟RTSP、RTMP播放器音视频解码?
华为·音视频·harmonyos·鸿蒙rtmp播放器·鸿蒙rtsp播放器·harmonyos rtsp·鸿蒙next播放器
特立独行的猫a20 小时前
OpenSSH 介绍及使用Lycium框架移植到鸿蒙 PC(OpenHarmony)平台的实践总结
harmonyos·openssh·鸿蒙pc·lycium_plusplus·三分库移植
轻口味20 小时前
HarmonyOS 6 轻相机应用开发2:贴纸效果实现
音视频·harmonyos·鸿蒙·播放器
HwJack2020 小时前
跨模块资源共享的破局之道:HarmonyOS HSP 资源访问“避坑与升华”指南
华为·harmonyos
liulian091620 小时前
【Flutter for OpenHarmony】原生卡片 Widget 集成实战:从零构建待办清单桌面组件
flutter·华为·学习方法·harmonyos
想你依然心痛21 小时前
HarmonyOS 6游戏开发实战:基于悬浮导航与沉浸光感的“光影迷宫“解谜游戏
游戏·华为·harmonyos·悬浮导航·沉浸光感