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_COMPLETEDreceivers to restart tracking on device reboot.
2. Battery & Power Management
- •Wakelocks: Smart management of
PARTIAL_WAKE_LOCKto 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.javaand React. - •Native-to-Web Events: Using
notifyListenersfor real-time status updates in the UI.
4. Background Geolocation
- •Providers: Fine-tuning
FusedLocationProviderClientsettings (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).