@Override
    public void onCreate() {
        super.onCreate();
        tts = new TextToSpeech(this, this);

        final PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
        wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "cgeo:SpeechService");
        // Set timeout to protect battery life. It's acceptable that the service can get killed after one hour.
        wakeLock.acquire(60 * 60 * 1000);
        Log.w("SpeechService - WakeLock acquired");


        startForeground(ID_FOREGROUND_NOTIFICATION_SPEECH_SERVICE, Notifications
                .createNotification(this, FOREGROUND_SERVICE_NOTIFICATION, R.string.tts_service)
                .setContentText(getString(R.string.tts_running))
                .build());
    }
Return distance required to be moved based on overall distance.<br>

@param distance in km
@return delta in km
main/src/main/java/cgeo/geocaching/speech/SpeechService.java