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 服务"
}
相关推荐
贾伟康3 小时前
HarmonyOS API 26 HMAF Skill 端侧 A2A 消息去重与上下文最小化
harmonyos·arkts·skill·a2a·hmaf
贾伟康3 小时前
HarmonyOS API 26 HMAF Skill 多 Skill 冲突仲裁与可恢复执行
harmonyos·arkts·智能体·skill·hmaf
钉先生贾4 小时前
毕业项目:从上游更新到回归发布的完整维护闭环
华为·harmonyos
行者-全栈开发4 小时前
【鸿蒙心迹】权限申请全流程——从声明到用户授权的完整链路(HarmonyOS 7.x)
华为·harmonyos
KevinChaos1 天前
阳台小花园开发手记 01|HarmonyOS 7.0 互动卡片:小花园为何要两套界面
华为·harmonyos
Ranger09291 天前
下一代鸿蒙打包工具链:arkdown
harmonyos
程序猿追1 天前
一个工程面向手机与二合一:HarmonyOS 6 部署配置和本地手记
华为·智能手机·harmonyos
头发还在的女程序员1 天前
基于 Spring Boot + Vue 3 + uni-app 的灵活用工系统:四端架构与业务流程设计
vue.js·spring boot·uni-app·灵活用工·灵工系统
行者-全栈开发2 天前
【鸿蒙心迹】深色模式适配全链路——从配置到自定义(HarmonyOS 7.x)
华为·harmonyos
行者-全栈开发2 天前
【鸿蒙心迹】国际化 i18n 与多语言资源管理实战(HarmonyOS 7.x)
ui·华为·重构·国际化·harmonyos·多语言