关于 capacitor-android
capacitor-android 是面向处理 React 与 Java/Android 后台追踪代码的助手技能,涵盖服务生命周期、电源管理、Capacitor 桥接通信,以及地理定位权限和提供方。
主要功能
- 01管理前台服务生命周期
- 02处理通知与重启后持续运行
- 03平衡唤醒锁与电池优化
- 04连接 Capacitor 插件和 React
- 05配置后台定位与权限
适用场景
- 01实现 Android 后台位置追踪
- 02排查服务重启和持续通知
- 03将原生状态更新传至 React 界面
- 04检查定位权限和电源行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ abelv22/ project-foundation --skill capacitor-android安装后在 Claude Code 中输入/capacitor-android确认已加载。
详细介绍
Capacitor 与 Android 原生桥接技能
此技能可帮助助手处理 Web 层(React)与原生层(Java/Android)之间复杂的交互,专用于后台跟踪。
知识领域
1. Android 前台服务
- 生命周期管理: 管理
LocationTrackingService.java的启动、停止和重启逻辑。 - 通知: 维护 Android 前台任务所需的持久通知。
- 开机后持久运行: 实现
BOOT_COMPLETED接收器,以便在设备重启后重新启动跟踪。
2. 电池与电源管理
- 唤醒锁: 智能管理
PARTIAL_WAKE_LOCK,在保持跟踪稳定性与延长电池续航之间取得平衡。 - Doze 模式: 使用
AlarmManager.setExactAndAllowWhileIdle()实现可靠的 60 秒间隔。 - 电池优化白名单: 处理
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。
3. Capacitor 插件开发
- 桥接通信: 在
ProTrackingPlugin.java与 React 之间高效传递数据。 - 原生到 Web 事件: 使用
notifyListeners在 UI 中实时更新状态。
4. 后台地理位置
- 定位提供方: 微调
FusedLocationProviderClient设置(Priority、Interval、FastestInterval)。 - 权限: 管理精细的位置权限(精确位置、后台位置)和通知权限。
响应指南
- 修改 Java 代码时,请确保 线程安全(尤其是网络调用和位置更新)。
- 始终建议在获取 GPS 定位或发生超时时 释放唤醒锁。
- 建议在
LocationApiClient.java中对失败的 HTTP 请求使用 指数退避。 - 请注意 Android 14+ 的要求(前台服务类型)。
评论
支持 Markdown