【鸿蒙 HarmonyOS Next 最佳实践】位置定位场景开发指导

简介

位置定位提供了GNSS定位、网络定位等多种功能。在实际开发场景中,经常会使用位置定位的功能,如城市定位功能、外卖与快递服务实时跟踪配送员位置、汽车实时导航等等。
常见开发场景如下所示:

  • 使用精准定位确认具体位置
  • 获取历史定位
  • 实时获取当前位置
  • 后台定位

申请定位权限

场景描述

应用在使用位置能力前,首先需要确认系统的位置开关为开启状态。如果系统位置能力没有开启,应用不能使用定位服务。


其次,设备的位置信息需要想用户申请对应的访问权限,用户授权后,应用才能使用定位服务。需要用户授权的用户如下所示。

  • ohos.permission.LOCATION:用于获取精准位置,精准度在米级别。
  • ohos.permission.APPROXIMATELY_LOCATION:用于获取模糊位置,精确度为5公里。
  • ohos.permission.LOCATION_IN_BACKGROUND:用于应用切换到后台仍然需要获取定位信息的场景。

开发步骤

1.在module.json5中配置需要的权限。

{
// ...
 "requestPermissions": [
         {
           "name": "ohos.permission.LOCATION",
           "reason": "$string:location_permission",
           "usedScene": {
             "abilities": [
               "EntryAbility"
             ],
             "when": "inuse"
           }
         },
         {
           "name": "ohos.permission.INTERNET",
           "reason": "$string:internet_permission",
           "usedScene": {
             "abilities": [
               "EntryAbility"
             ],
             "when": "inuse"
           }
         },
         {
           "name": "ohos.permission.APPROXIMATELY_LOCATION",
           "reason": "$string:fuzzy_location_permission",
           "usedScene": {
             "abilities": [
               "EntryAbility"
             ],
             "when": "inuse"
           }
         },
         {
           "name": "ohos.permission.LOCATION_IN_BACKGROUND",
           "reason": "$string:location_permission",
           "usedScene": {
             "abilities": [
               "EntryAbility"
             ],
             "when": "inuse"
           }
         }
       ]
// ...
}



2.详细申请定位权限的代码如下所示。关于权限的申请,详情可以参考向用户申请授权

// 引入a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值