Where is ICCs handled in the Android stack? -


i assigned project in should write app android intercept communicating intents passing around in framework. in fact, intercept iccs (inter-component communication) going on in device including ipcs.

afaik, there 2 general ways icc in android listed below.

  • intent passing (between activities, services , receivers).
  • bound services activities can bind themselves.

for getting project done, should manipulate android framework hook specific modules? (although not so).

i rather more interested in creating app intercept iccs without manipulating framework. possible @ all?

if should touch framework, please tell me @ module(s)/component(s) iccs handled?

should manipulate android framework hook specific modules?

yes. because of process sand-boxing feature of linux kernel, app cannot access other apps' information or going on there.

i rather more interested in creating app intercept iccs without manipulating framework. possible @ all?

absolutely no.

if should touch framework, please tell me @ module(s)/component(s) iccs handled?

for intercepting iccs, including starting activities, starting services, binding services , sending broadcasts, manipulate activity manager service.

whenever in app, call startactivity() (and of flavors e.g. startactivityforresult()), sendbroadcast(), startservice , bindservice (of both rpc , using messenger), following steps taken. (behind hood !)

  • your app contact service manager through binder mechanism presented in kernel.
  • service manager acts index registered system services. return handle activity manager app via binder mechanism.
  • your app call method specified on activity manager instance got.

  • in activity manager further steps taken, such as: intent resolution (via resolveintent() method of package manager) , permission checking.

two options case:

  1. manipulate activity manager codes directly.
  2. define own system service acts proxy activity manager , register service manager. recommended

Comments

Popular posts from this blog

java - Date formats difference between yyyy-MM-dd'T'HH:mm:ss and yyyy-MM-dd'T'HH:mm:ssXXX -

c# - Get rid of xmlns attribute when adding node to existing xml -