更新记录

1.0.0(2026-04-13) 下载此版本

初始化发布。


平台兼容性

酒虫代驾前台定位服务

一句话介绍

提供Android前台定位服务,确保APP在后台或锁屏状态下持续获取位置并上传轨迹数据。

功能特性

核心功能

  • 🚗 前台服务保护,不易被系统杀掉
  • 📍 后台持续定位,锁屏也能工作
  • 📤 自动批量上传轨迹数据
  • 🔔 通知栏显示运行状态
  • 🔋 省电优化
  • 🔄 异常重试机制

适用场景

  • 代驾服务:准确记录行程轨迹,计算实际里程
  • 外卖配送:实时追踪配送员位置
  • 物流运输:记录运输路线
  • 巡检打卡:记录巡检轨迹
  • 运动健身:记录运动轨迹

快速开始

1. 安装插件

在HBuilderX中:

  1. 打开插件市场,搜索"酒虫代驾前台定位服务"
  2. 点击"使用HBuilderX导入插件"
  3. 选择要导入的项目

2. 使用示例

// 导入插件封装
import foregroundTrackManager from '@/utils/foregroundTrack.js';

// 开始轨迹追踪
foregroundTrackManager.startTracking(orderId, {
    uploadInterval: 10000  // 上传间隔10秒
}).then(() => {
    console.log('前台服务启动成功');
});

// 停止轨迹追踪
foregroundTrackManager.stopTracking();

// 检查服务状态
foregroundTrackManager.isServiceRunning().then(isRunning => {
    console.log('服务运行状态:', isRunning);
});

3. 云打包

直接使用云打包即可,插件会自动包含!

API文档

startTracking(orderId, options)

启动前台定位服务

参数

  • orderId {Number} - 订单ID(必填)
  • options {Object} - 配置选项
    • uploadInterval {Number} - 上传间隔(毫秒),默认10000

返回:Promise

stopTracking()

停止前台定位服务

返回:Promise

isServiceRunning()

检查服务是否正在运行

返回:Promise

getTrackingStatus()

获取当前追踪状态(同步方法)

返回:Object

  • isTracking {Boolean} - 是否正在追踪
  • orderId {Number} - 当前订单ID

工作原理

前台服务

启动后会在通知栏显示:

🚗 代驾进行中
正在记录行程轨迹,订单ID: 123
点击查看详情

定位策略

  • 每5秒获取一次位置
  • 过滤精度低于100米的数据
  • 过滤距离异常的数据(>1公里)
  • 计算每个点之间的距离

上传策略

  • 缓存10个轨迹点或10秒后批量上传
  • 上传失败自动重试
  • 服务停止时上传剩余数据

数据格式

{
  "tracks": [
    {
      "order_id": 123,
      "latitude": 39.814235,
      "longitude": 109.932318,
      "altitude": 0,
      "accuracy": 10.5,
      "speed": 15.2,
      "location_time": 1775989669350,
      "source": "app",
      "distance_from_last": 0.015
    }
  ]
}

注意事项

权限要求

插件需要以下权限(已自动配置):

  • 精确定位权限
  • 后台定位权限
  • 前台服务权限
  • 通知权限

系统要求

  • Android 5.0+ (API 21+)
  • Android 8.0+ 必须使用前台服务
  • Android 10+ 需要后台定位权限

用户授权

首次使用需要用户授权:

  1. 定位权限:选择"始终允许"
  2. 通知权限:允许显示通知
  3. 电池优化:建议关闭(可选)

电池消耗

  • 正常定位:每小时约3-5%电量
  • 前台服务:每小时约5-8%电量
  • 对于1-2小时的代驾行程,影响可接受

常见问题

Q1: 服务启动失败?

A: 检查定位权限是否授予,Token是否有效

Q2: 通知不显示?

A: 检查通知权限,确保"代驾轨迹追踪"渠道已开启

Q3: 后台被杀掉?

A: 关闭电池优化,添加到白名单,允许后台运行

Q4: 轨迹数据不上传?

A: 检查网络连接,查看服务器日志,确认Token未过期

技术支持

  • 插件文档:查看完整README.md
  • 问题反馈:在插件评论区留言
  • 技术交流:联系开发者

更新日志

v1.0.0 (2026-04-13)

  • ✅ 初始版本发布
  • ✅ 支持Android前台定位服务
  • ✅ 支持后台持续定位
  • ✅ 支持批量上传轨迹数据
  • ✅ 支持通知栏显示运行状态
  • ✅ 支持省电优化
  • ✅ 支持异常重试机制

许可证

本插件为商业插件,未经授权不得用于其他项目。


开发者:酒虫代驾团队
版本:1.0.0
更新时间:2026-04-13

隐私、权限声明

1. 本插件需要申请的系统权限列表:

本插件申请以下Android系统权限: 1. ACCESS_FINE_LOCATION(精确定位) 用途:获取用户精确位置信息,用于记录行程轨迹 2. ACCESS_COARSE_LOCATION(粗略定位) 用途:获取用户大致位置信息,作为精确定位的补充 3. ACCESS_BACKGROUND_LOCATION(后台定位) 用途:在APP后台或锁屏状态下继续获取位置,确保轨迹记录完整 4. FOREGROUND_SERVICE(前台服务) 用途:运行前台服务,防止系统杀掉定位进程 5. FOREGROUND_SERVICE_LOCATION(定位前台服务) 用途:声明前台服务类型为定位服务 6. WAKE_LOCK(保持唤醒) 用途:防止设备休眠导致定位中断 7. POST_NOTIFICATIONS(通知权限) 用途:显示前台服务通知,告知用户轨迹追踪正在运行 8. INTERNET(网络权限) 用途:上传轨迹数据到服务器

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

本插件采集以下数据: 1. 位置信息(必需) - 采集内容:经度、纬度、海拔、精度、速度 - 采集原因:实现轨迹追踪功能的核心数据 - 使用用途:记录行程轨迹,计算实际里程,用于代驾、外卖、物流等业务场景 - 存储位置:上传到用户自己的服务器 - 保存时长:由用户服务器决定 2. 设备信息(可选) - 采集内容:设备型号、系统版本、平台类型 - 采集原因:用于日志记录和问题排查 - 使用用途:帮助开发者定位和解决技术问题 - 存储位置:上传到用户自己的服务器 - 保存时长:由用户服务器决定 3. 时间戳(必需) - 采集内容:位置获取的时间 - 采集原因:记录轨迹点的时间顺序 - 使用用途:计算行程时长,排序轨迹点 - 存储位置:上传到用户自己的服务器 - 保存时长:由用户服务器决定 数据安全保障: - 所有数据使用HTTPS加密传输 - 数据存储在用户自己的服务器,插件不保存任何数据 - 用户可随时停止追踪并删除数据 - 不会将数据分享给任何第三方

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

本插件不包含任何广告,不使用任何广告SDK。

许可协议

MIT协议

暂无用户评论。