Replace paid flutter_background_geolocation with free flutter_foreground_task

Replace proprietary flutter_background_geolocation (requires paid license
for Android release builds) with free flutter_foreground_task package.
Background location tracking now uses foreground service with periodic
geolocation updates every 30 seconds.
This commit is contained in:
dmit.b
2026-06-25 13:24:24 +03:00
parent 5f59e17da8
commit 506608c508
6 changed files with 105 additions and 75 deletions
+17 -4
View File
@@ -8,17 +8,30 @@
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:label="family_safety_frontend"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<service
android:name="com.transistorsoft.flutter.backgroundgeolocation.HeadlessJobService"
android:enabled="true"
android:exported="false"
android:name="com.pravera.flutter_foreground_task.service.ForegroundService"
android:foregroundServiceType="location"
android:permission="android.permission.BIND_JOB_SERVICE" />
android:exported="false" />
<receiver
android:name="com.pravera.flutter_foreground_task.receiver.AlarmReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.pravera.flutter_foreground_task.action.ALARM" />
</intent-filter>
</receiver>
<receiver
android:name="com.pravera.flutter_foreground_task.receiver.BootReceiver"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity
android:name=".MainActivity"
android:exported="true"