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" /> + +