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 服务"
}
相关推荐
熊猫钓鱼>_>2 分钟前
【开源鸿蒙跨平台开发先锋训练营】[Day 3] React Native for OpenHarmony 实战:网络请求集成与高健壮性列表构建
大数据·人工智能·react native·华为·开源·harmonyos·智能体
小白阿龙15 分钟前
鸿蒙+flutter 跨平台开发——自定义单词速记APP开发实战
flutter·华为·harmonyos·鸿蒙
雪芽蓝域zzs33 分钟前
uniapp Vue3 项目中设置 “custom“: true 自定义底部导航栏失败
uni-app
弓.长.33 分钟前
基础入门 React Native 鸿蒙跨平台开发:LayoutAnimation 布局动画
react native·react.js·harmonyos
00后程序员张38 分钟前
iOS 应用加固软件怎么选,从源码到IPA方案选择
android·ios·小程序·https·uni-app·iphone·webview
imHere·40 分钟前
UniApp + 微信小程序 xr-frame 3D 开发实战指南
微信小程序·uni-app·xr
世人万千丶41 分钟前
鸿蒙跨端框架 Flutter 学习:GetX 全家桶:从状态管理到路由导航的极简艺术
学习·flutter·ui·华为·harmonyos·鸿蒙
弓.长.44 分钟前
基础入门 React Native 鸿蒙跨平台开发:Linking 链接处理 鸿蒙实战
react native·react.js·harmonyos
夜雨声烦丿44 分钟前
Flutter 框架跨平台鸿蒙开发 - 电影票房查询 - 完整开发教程
flutter·华为·harmonyos
弓.长.1 小时前
基础入门 React Native 鸿蒙跨平台开发:网络请求实战
网络·react native·harmonyos