HarmonyOS 鸿蒙Next在本地模拟器中定位功能使用不成功

发布于 1周前 作者 h691938207 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next在本地模拟器中定位功能使用不成功

module_config.json5 中声明了权限

{
  “name”: “ohos.permission.LOCATION”,
  “reason”: “$string:permission_location”,
  “usedScene”: {
    “abilities”: [“EntryAbility”],
    “when”: “inuse”
  }
},
{
  “name”: “ohos.permission.APPROXIMATELY_LOCATION”,
  “reason”: “$string:permission_location”,
  “usedScene”: {
    “abilities”: [“EntryAbility”],
    “when”: “inuse”
  }
},
{
  “name”: “ohos.permission.LOCATION_IN_BACKGROUND”,
  “reason”: “$string:permission_location”,
  “usedScene”: {
    “abilities”: [“EntryAbility”],
    “when”: “inuse”
  }
}

在 页面的 aboutToAppear事件中调用

geoLocationManager.getCurrentLocation({
  priority: geoLocationManager.LocationRequestPriority.ACCURACY,
  scenario: geoLocationManager.LocationRequestScenario.DAILY_LIFE_SERVICE,
})

报错:BussinessError 201: Permission denied.

是本地模拟器不能使用定位功能么?

有伙伴使用过定位功能么

16 回复
楼主成功了吗?我现在模拟器报错
BussinessError 3301200: Failed to obtain the geographical location.

大佬解决了嘛? 我也报这个错?

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

没有,应该就是模拟器不支持

请教各位,我用的真 机测试,申请了地理位置权限,弹框了,也点了确认,可还是拿不到用户位置信息,返回的json是空的经纬度都是0, 还是报3301200, 
 

页面上部分代码

let atManager = abilityAccessCtrl.createAtManager();
await atManager.requestPermissionsFromUser(getContext(this),
["ohos.permission.LOCATION","ohos.permission.APPROXIMATELY_LOCATION"])

const result = await geoLocationManager.getCurrentLocation()
console.info("*******location********")
console.info(JSON.stringify(result))
this.lat = result.latitude
this.log = result.longitude

API 11的本地模拟器也不成功,mac的定位服务已经打开了,但是没找到什么设置是DevEco或者模拟器要读取定位的

Error: BussinessError 3301100: The location switch is off.

大佬解决了嘛? 我也报这个错?

打开设置-系统-日期与时间-最后一行小字打开定位服务

找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

这个完美解决

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

cke_136.png

引用的包 

import geoLocationManager from '[@ohos](/user/ohos).geoLocationManager';

你参考下,你填写了权限声明描述,还没申请权限

截图里面的context是什么呢?

可以不管 那就是我捕获异常时候打日志用的

HarmonyOS 鸿蒙Next在本地模拟器中定位功能使用不成功,可能由多种原因导致。首先,确认模拟器是否支持定位模拟功能,并检查定位服务是否已在模拟器中启用。其次,检查应用是否已声明并请求了定位权限。此外,还需确认代码实现是否正确,包括定位API的使用和回调处理。如果问题依旧没法解决,请检查鸿蒙系统的更新情况,或考虑在真实设备上测试定位功能。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部