Aquí tienes un ejemplo también de un servicio corriendo prácticamente indefinidamente:
Simple example of a foreground service that keeps the process running in the background. The current location is shown in the persistent notification. The app starts at boot and theoretically should run all the time. It also schedules itself to run with StartServiceAt. This can help in cases...
saludos,
Hola muchas gracias a todos, por las respuestas. Vi ese mismo ejemplo el del Tracker del Gps y ocurre una cosa:
He copiado más o menos la estructura del servicio y en mi caso particular se sigue apagando. Eso cuando uso ServiceStartAt y le marco un tiempo por ejemplo cada 1 segundos (después de apagar la pantalla hace 3 segundos más y se para). No ocurre que si inicializo un timer en el servicio, en este caso si consigo que se ejecute de forma indefinida, pero con ServiceStartAt acaba parándose, eso es lo raro.
He llegado a una conclusión, pero puede que sea erronea, ya que no tengo mucho conocimiento al respecto. Es que si mi servicio inicia otro "servicio" del sistema, como es el GPS o apis internas del GPS que cheka la localización si funciona. Pero para una rutina creada dentro de mi propia app no lo hace... eso es lo raro.
En cambio si uso el timer imagino que hace uso de alguna api interna del reloj y si que corre de forma indefinida, es una teoría mía... Pero no sé si sea así, como digo...he intentado seguir la estructura del ejemplo creado una rutina contadora y el servicio se para igualmente.
Gracias Edgar, voy a revisar el link que me has pasado y lo estudiare a ver.
Un saludo a tod@s