AI 地图
产品服务
解决方案
文档与支持
定价
更新时间: 2026/08/19 10:30

后台定位用于应用进入后台后继续接收位置更新。该能力涉及敏感权限、系统后台策略和额外耗电,只应在用户明确知情且业务确有需要时启用。

平台要求
Android

Android 通过前台服务通知维持后台定位。最终应用需按目标系统版本配置前台定位、后台定位和前台服务权限,并确保定位服务、通知渠道以及必要的通知权限可用。系统会向用户展示持续通知。

iOS

最终应用需启用 UIBackgroundModes 的 location,并配置与业务场景匹配的定位用途说明和始终定位授权。开启后台能力后,应显式启动连续定位,不要假定系统会自动恢复定位任务。

HarmonyOS NEXT

最终 HAP 需配置前台定位权限、ohos.permission.LOCATION_IN_BACKGROUND、ohos.permission.KEEP_BACKGROUND_RUNNING 和网络权限,并声明 location 类型的后台运行模式。

开启后台定位

enableLocInBackground() 只开启平台后台定位能力,不会代替 requestLocationUpdates() 启动连续定位。建议先完成权限和客户端配置,再开启后台能力并显式开始连续定位。

async function startBackgroundLocation(): Promise<void> {
if (locationClient == null) {
return
}
try {
const enabled = await locationClient!.enableLocInBackground()
if (enabled) {
locationClient!.requestLocationUpdates()
}
} catch (error) {
console.error('开启后台定位失败', error)
}
}
停止后台定位
function stopBackgroundLocation(): void {
locationClient?.stopRequestLocationUpdates()
locationClient?.disableLocInBackground()
}
状态与资源释放

可通过 isStartLocInBackground() 查询后台能力状态。业务结束时应停止连续定位、关闭后台定位并调用 destroy()。合理设置定位间隔和结束条件,避免长期无效运行。

上一篇

连续定位

下一篇

更新日志
本篇文章对您是否有帮助?