Two things which you need to consider:
- If the GPS information is required only for your application then have a thread which pools GPS information every second or interval set by you. This way your application gets the information from GPS and you dont have to complicate things by making a service. Remember, By making a thread within your application you need to start your application so that you can obtain GPS information.
- Now lets say you want GPS information for other applications also. Then using a service is a good idea. That way other applications can also obtain GPS information and use in their application. Ofcourse, this wont happen magically that all application can get the GPS information by running the service. You would have to write code and provide interfaces so that all other applications along with your application know how to interact with the service.
Now using a thread in application is quicker and neat if it meets your requirement. However, like i mentioned your application needs to start before using the GPS information.
With Service, you can even run the service at start up. So you need not start your application to start the GPS. However, unless required go for thread in the application.