You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo-Location锁屏时无法持续获取位置更新问题排查求助

健身追踪应用锁屏后位置丢失问题(仅iPhone 13 Pro等设备出现)

复现步骤

  • 目标设备选iPhone 13 Pro(或同系列新机型),确保iOS版本为15及以上
  • 给应用授予前台定位权限,启动路径录制,确认屏幕顶部显示定位图标、前台通知正常弹出
  • 立即锁屏,把手机放进口袋,保持缓慢移动或静止状态10-15分钟
  • 期间多次解锁手机,每次解锁后停留1-2分钟再重新锁屏
  • 结束录制后查看路径,检查锁屏间隔时段是否无位置点记录

可能的诱因

1. iOS系统定位策略的机型差异

iPhone 13 Pro搭载的iOS 15+对后台/锁屏状态下的定位限制更严苛,即便申请了前台权限,当设备锁屏且检测到低活动状态时,系统可能会暂停位置更新以节省电量。而iPhone 11的iOS版本(或硬件低功耗逻辑)相对宽松,不会触发这类限制。

2. activityType适配问题

你设置的OtherNavigation类型,在新机型的iOS系统中可能被判定为非高优先级场景。系统会认为锁屏后用户没有进行导航活动,从而降低定位频率甚至暂停更新。健身追踪场景更适合Fitness类型,系统会给予更高的定位优先级。

3. 前台服务优先级被系统降级

虽然配置了前台服务通知,但在部分新机型上,当设备锁屏后,系统可能自动触发隐性的低功耗策略,降级前台服务的资源分配,导致位置更新任务被挂起。

4. TaskManager回调数据丢失

iOS 15+中,锁屏状态下TaskManager的回调可能被系统延迟或丢弃,即便系统获取到了位置数据,也无法传递到应用的回调逻辑中,最终导致这部分时段的位置没有被记录。

排查方向

  • 关闭设备的低功耗模式(包括系统自动触发的情况),重新测试复现
  • 将activityType修改为Location.LocationActivityType.Fitness,观察问题是否消失
  • 在TaskManager回调中增加本地日志写入(比如把收到的locations数据写入文件),确认锁屏时段系统是否有传递位置数据,以此区分是系统没更新位置还是应用没收到数据
  • 测试不同iOS版本的iPhone 13 Pro,排查是否存在版本特异性问题
  • 检查应用的后台App刷新权限是否开启,部分场景下系统会关联这个权限判断定位资源分配

你提供的核心代码

启动位置更新:

await Location.startLocationUpdatesAsync(TRACKING_BACKGROUND_TASK, {
  distanceInterval: 1,
  accuracy: LocationAccuracy.BestForNavigation,
  activityType: Location.LocationActivityType.OtherNavigation,
  foregroundService: {
    notificationTitle: "App name",
    notificationBody: "Tracking",
  },
});

申请前台权限:

Location.requestForegroundPermissionsAsync()

TaskManager任务定义:

TaskManager.defineTask(
  TRACKING_BACKGROUND_TASK,
  (body: TaskManager.TaskManagerTaskBody<object>) => {
    if (body.error) {
      console.error(body.error.message);
      return;
    }

    const data = body.data as unknown as { locations: LocationObject[] };

    const locations = data?.locations;

    if (!locations) {
      return;
    }

    for (const location of locations) {
      for (const callback of Object.values(locationCallbacks)) {
        callback(location);
      }
    }
  }
);

内容的提问来源于stack exchange,提问作者rablentain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 19:57:29