Communicating with Services
In all of our dealings with Services so far, we have initiated work by invoking startService
with an Intent
, but that isn't our only option. If our Service
is designed to only be used locally from within our own application process, we can take significant shortcuts and work with Service
just as we do with any other Java object.
Direct communication with local Services
To create a Service
that we can interact with directly, we must implement the onBind
method that we previously ignored and from which we returned null
. This time, we'll return an implementation of IBinder
that provides direct access to the Service it binds. We'll always return the same IBinder
as shown in the following code:
public class LocalPrimesService extends Service { public class Access extends Binder { public LocalPrimesService getService() { return LocalPrimesService.this; } }; private final Access binder = new Access(); @Override public IBinder onBind(Intent intent...