| name | capacitor-android |
| description | Expert in Capacitor cross-platform development and Android native Java code for background services and battery optimization. |
Capacitor & Android Native Bridge Skill
This skill enables the assistant to handle the complex interaction between the Web layer (React) and the Native layer (Java/Android) specifically for background tracking.
Knowledge Areas
1. Android Foreground Services
- Lifecycle Management: Start/stop/restart logic for
LocationTrackingService.java.
- Notifications: Maintaining persistent notifications required by Android for foreground tasks.
- Boot Persistence: Implementing
BOOT_COMPLETED receivers to restart tracking on device reboot.
2. Battery & Power Management
- Wakelocks: Smart management of
PARTIAL_WAKE_LOCK to balance tracking consistency with battery life.
- Doze Mode: Using
AlarmManager.setExactAndAllowWhileIdle() for reliable 60s intervals.
- Optimization Whitelisting: Handling
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
3. Capacitor Plugin Development
- Bridge Communication: Efficiently passing data between
ProTrackingPlugin.java and React.
- Native-to-Web Events: Using
notifyListeners for real-time status updates in the UI.
4. Background Geolocation
- Providers: Fine-tuning
FusedLocationProviderClient settings (Priority, Interval, FastestInterval).
- Permissions: Managing granular location permissions (Fine, Background) and notification permissions.
Guidelines for Responses
- When modifying Java code, ensure Thread Safety (especially for network calls and location updates).
- Always recommend releasing Wakelocks when the GPS fix is obtained or if a timeout occurs.
- Suggest exponential backoff for failed HTTP requests in
LocationApiClient.java.
- Keep in mind Android 14+ requirements (Foreground Service Types).