diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 5ff9488..c30f761 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -6,11 +6,12 @@ - - + + + diff --git a/src/org/traccar/client/TraccarService.java b/src/org/traccar/client/TraccarService.java index 2fe6377..8bb8327 100644 --- a/src/org/traccar/client/TraccarService.java +++ b/src/org/traccar/client/TraccarService.java @@ -16,11 +16,14 @@ package org.traccar.client; import android.app.Service; +import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.location.Location; import android.os.IBinder; +import android.os.PowerManager; +import android.os.PowerManager.WakeLock; import android.preference.PreferenceManager; import android.util.Log; @@ -40,10 +43,16 @@ public class TraccarService extends Service { private SharedPreferences sharedPreferences; private ClientController clientController; private PositionProvider positionProvider; + + private WakeLock wakeLock; @Override public void onCreate() { StatusActivity.addMessage(getString(R.string.status_service_create)); + + PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); + wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName()); + wakeLock.acquire(); } public void onStart(Intent intent, int startId) { @@ -96,6 +105,8 @@ public class TraccarService extends Service { if (clientController != null) { clientController.stop(); } + + wakeLock.release(); } private PositionProvider.PositionListener positionListener = new PositionProvider.PositionListener() {