Nate H
Nate H

Reputation: 33

How to know when a new service is ready in Android?

I use startService() to start a new service. It will take some time before the service is ready. If I call ServiceManager.getService() immediately, it will return null. I didn't find any blocking function about this. How to know when the service is ready? Is there any blocking functions or any system message to tell me that?

The other way is put ServiceManager.getService() in a while loop, but I don't think it is good, because it will lock UI.

Upvotes: 1

Views: 580

Answers (1)

Rich Schuler
Rich Schuler

Reputation: 41972

You should probably restructure your code to use Context#bindService. bindService allows you to provide a ServiceConnection object that will have its onServiceConnected method called when the service is ready for interaction.

Upvotes: 2

Related Questions