What you need is a related service : these services only work if a client is connected to it (for example, one of your actions). This allows you to have a common state (one connected location client), while still ensuring that you connect / disconnect appropriately.
In this situation, any activity associated with the location will be bound to the service. When the first activity (for example, your splash screen activity) is associated with a service, the service will start working and connect to Google Play services. Your Binder service will then provide access to its LocationClient for any related activities. When you move between actions, each of them will be attached to the service in turn and will be able to receive current location data, and each of them will be destroyed.
When a user exits your application (i.e. the last action will be destroyed), the service will automatically stop, which will allow you to disconnect from Google Play services.
As long as you get attached to the service from every action that needs location data, it does not matter which of the service starts initially: the service will simply connect if necessary.
source share