diff --git a/app/src/main/java/org/traccar/client/MainActivity.java b/app/src/main/java/org/traccar/client/MainActivity.java
index b2bd54c..955cb44 100644
--- a/app/src/main/java/org/traccar/client/MainActivity.java
+++ b/app/src/main/java/org/traccar/client/MainActivity.java
@@ -40,6 +40,7 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
public static final String KEY_INTERVAL = "interval";
public static final String KEY_PROVIDER = "provider";
public static final String KEY_STATUS = "status";
+ public static final String KEY_FOREGROUND = "foreground";
private boolean firstLaunch; // DELME
@@ -81,6 +82,7 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
preferenceScreen.findPreference(KEY_PORT).setEnabled(enabled);
preferenceScreen.findPreference(KEY_INTERVAL).setEnabled(enabled);
preferenceScreen.findPreference(KEY_PROVIDER).setEnabled(enabled);
+ preferenceScreen.findPreference(KEY_FOREGROUND).setEnabled(enabled);
}
@Override
diff --git a/app/src/main/java/org/traccar/client/TrackingService.java b/app/src/main/java/org/traccar/client/TrackingService.java
index 1619e7a..6ffd925 100644
--- a/app/src/main/java/org/traccar/client/TrackingService.java
+++ b/app/src/main/java/org/traccar/client/TrackingService.java
@@ -16,18 +16,24 @@
package org.traccar.client;
import android.annotation.TargetApi;
+import android.app.Notification;
+import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.Build;
import android.os.IBinder;
+import android.preference.PreferenceManager;
import android.util.Log;
public class TrackingService extends Service {
private static final String TAG = TrackingService.class.getSimpleName();
+ private static final int NOTIFICATION_ID = 1;
private TrackingController trackingController;
+ private boolean foreground;
+
@Override
public void onCreate() {
Log.i(TAG, "service create");
@@ -35,6 +41,8 @@ public class TrackingService extends Service {
trackingController = new TrackingController(this);
trackingController.start();
+
+ foreground = PreferenceManager.getDefaultSharedPreferences(this).getBoolean(MainActivity.KEY_FOREGROUND, false);
}
@Override
@@ -46,6 +54,17 @@ public class TrackingService extends Service {
@Override
public void onStart(Intent intent, int startId) {
AutostartReceiver.completeWakefulIntent(intent);
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR && foreground) {
+ Intent notificationIntent = new Intent(this, MainActivity.class);
+ PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
+
+ Notification notification = new Notification(android.R.drawable.stat_notify_sync_noanim, null, 0);
+ notification.setLatestEventInfo(
+ this, getString(R.string.app_name), getString(R.string.settings_status_on_summary), pendingIntent);
+
+ startForeground(NOTIFICATION_ID, notification);
+ }
}
@TargetApi(Build.VERSION_CODES.ECLAIR)
@@ -60,6 +79,10 @@ public class TrackingService extends Service {
Log.i(TAG, "service destroy");
StatusActivity.addMessage(getString(R.string.status_service_destroy));
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR && foreground) {
+ stopForeground(true);
+ }
+
if (trackingController != null) {
trackingController.stop();
}
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index b28de39..c354bfa 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -22,6 +22,8 @@
- GPS
- Mobilní síť
+ Popředí služba
+ Zvýšit prioritu služba
Stav
O aplikaci
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 8989d01..e2bda1d 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -22,6 +22,8 @@
- GPS udbyder
- Netværks udbyder
+ Forgrunden tjeneste
+ Øg tjeneste prioritet
Status
Om
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index eb5c546..57284c1 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -22,7 +22,9 @@
- GPS
- Netzwerk
-
+ Vordergrund service
+ Erhöhen service priorität
+
Status
Über
Leeren
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 9f10869..169416e 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -22,6 +22,8 @@
- Proveedor GPS
- Proveedor de red
+ Servicio de primer plano
+ Aumentar prioridad de servicio
Estado
Acerca de…
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index ff06769..e354e1a 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -22,6 +22,8 @@
- Mode GPS uniquement
- Mode cellulaire uniquement
+ Un service de premier plan
+ Augmenter la priorité de service
Etat
A propos
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 75900f6..477594c 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -22,7 +22,9 @@
- GPS-lokalisering
- Nettverkslokalisering
-
+ Forgrunnen tjeneste
+ Øk tjeneste prioritet
+
Status
Om
Tøm
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 8167c50..ad4ae6b 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -22,7 +22,9 @@
- Provedor GPS
- Provedor Rede
-
+ Serviço primeiro plano
+ Aumentar a prioridade de serviço
+
Status
Sobre
Limpar
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index a06548f..390c390 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -22,6 +22,8 @@
- GPS провайдер
- Сетевой провайдер
+ Приотитетный сервис
+ Увеличить приоритет сервиса
Состояние
О программе
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 0e59c67..a3a53ed 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -22,6 +22,8 @@
- GPS provajder
- Provajder Mreže
+ Prvi plan servis
+ Povecanje usluga prioritet
Status
O klijentu
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c6b6caf..6caef51 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -22,7 +22,9 @@
- GPS provider
- Network provider
-
+ Foreground service
+ Increase service priority
+
Status
About
Clear
diff --git a/app/src/main/res/xml-v14/preferences.xml b/app/src/main/res/xml-v14/preferences.xml
index 29597a9..2bcb452 100644
--- a/app/src/main/res/xml-v14/preferences.xml
+++ b/app/src/main/res/xml-v14/preferences.xml
@@ -42,4 +42,10 @@
android:summary="@string/settings_provider_summary"
android:title="@string/settings_provider_title" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 83168eb..5618121 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -40,4 +40,10 @@
android:summary="@string/settings_provider_summary"
android:title="@string/settings_provider_title" />
+
+