Gilbert
Gilbert

Reputation: 921

Accessing Android Service Through Global Object

I've a simple service that several of my activities need to access. The standard approach seems to be:

  1. Create ServiceConnection to specify what to do after binding [with the service object]
  2. call bindService with ServiceConnection

But that requires calling bindService at least once per activity. What if I call bindService exactly once, store the service object globally to allow for different activities to access it?

Is this bad practice? Why?

Upvotes: 2

Views: 779

Answers (1)

Nathan Schwermann
Nathan Schwermann

Reputation: 31503

You could extend Application and let it keep your reference to the service, then in your activity you cast getApplicationContext() to your new class and use a public API to get the service.

mService = ((MyApplication)getApplicationContext()).getMyService();

Upvotes: 1

Related Questions