3

Does all Android IPC is pass through the service_manager? How does applications interacts with services and intents?

Does all messages passed through the service_manager as a proxy? or applications can "talk" directly?

Onik
  • 19,396
  • 14
  • 68
  • 91
omri-c
  • 81
  • 1
  • 7
  • Hi, I like this question and I also have some further questions here. Instead of creating a new question, I would like to add my questions here. 1. I think all service need to register to service manager and then the client can request the reference from it. Hence, I assume that the service can be found in adb shell service list when I start the service. Is this correct ? Only those shown in the list are capable of doing IPC thing. – Sam Aug 12 '14 at 14:44

1 Answers1

0

Once the connection is made, applications are talking directly (well, actually via the kernel).

Henry
  • 42,982
  • 7
  • 68
  • 84
  • @omri-c What do you mean by service_manager? There are mechanisms to exchange binder references between processes. Once you have one of these you can bind to the other process. You may want to look up the `Binder` and `IBinder` documentation. – Henry Dec 25 '13 at 09:21
  • There is service_manager.c and also ServiceManager.cpp, what is the difference between them? how are they connected ? – omri-c Dec 25 '13 at 09:28
  • It actually finally goes to binder driver in the kernel layer and does the IPC through shared memory way. – Sam Aug 12 '14 at 14:48