diff --git a/android/app/src/main/java/org/communiquons/comunic/MainActivity.java b/android/app/src/main/java/org/communiquons/comunic/MainActivity.java index 6748680..807291c 100644 --- a/android/app/src/main/java/org/communiquons/comunic/MainActivity.java +++ b/android/app/src/main/java/org/communiquons/comunic/MainActivity.java @@ -4,6 +4,7 @@ package org.communiquons.comunic; import androidx.annotation.NonNull; import org.communiquons.comunic.independentnotifications.NotificationsChannel; +import org.communiquons.comunic.independentnotifications.NotificationsService; import io.flutter.embedding.android.FlutterActivity; import io.flutter.embedding.engine.FlutterEngine; @@ -13,6 +14,12 @@ public class MainActivity extends FlutterActivity { private static final String INDEPENDENT_NOTIFICATIONS_CHANNEL = "org.communiquons.comunic/independent-push-notifications-service"; + @Override + protected void onStart() { + super.onStart(); + NotificationsService.startService(this); + } + @Override public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { super.configureFlutterEngine(flutterEngine); diff --git a/android/app/src/main/java/org/communiquons/comunic/independentnotifications/NotificationsService.java b/android/app/src/main/java/org/communiquons/comunic/independentnotifications/NotificationsService.java index f32ea5f..27de683 100644 --- a/android/app/src/main/java/org/communiquons/comunic/independentnotifications/NotificationsService.java +++ b/android/app/src/main/java/org/communiquons/comunic/independentnotifications/NotificationsService.java @@ -44,7 +44,7 @@ public class NotificationsService extends Service implements Runnable { private static final int NOTIFS_ID = 10; private static final int CONNECT_TIMEOUT = 1000; - private static final int RECONNECT_INTERVAL = 10000; + private static final int RECONNECT_INTERVAL = 60000; private static final int PING_INTERVAL = 15000; private Thread thread; @@ -90,6 +90,12 @@ public class NotificationsService extends Service implements Runnable { @Override public int onStartCommand(Intent intent, int flags, int startId) { + if (thread != null) { + System.out.println("The service has already been started. Skipping initialization..."); + return START_STICKY; + } + + createServiceNotificationChannel(); Intent notificationIntent = new Intent(this, MainActivity.class);