Your question has been partially answered before. Check here:
But if you still think about the idea of having something running on background, you can have a look in this reference:
Having things running on background is clearly not a good option. Unless you for any reason really need it. So, take care to not annoy the user with unnecessary background services that was not consciously activated by the user´s own will. In such case, making a separate App, or kind of a feature that will bee activated by the user is a smarter and safer road to take.
If you need to be able to write a Service that can perform complicated communication with clients in remote processes (beyond simply the use of Context.startService to send commands to it), then you can use the Messenger class instead of writing full AIDL files. If you only need a remote service, you should follow this tutorial.