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 handleactivity 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 (viaresolveintent()
method ofpackage manager
) , permission checking.
two options case:
- manipulate
activity manager
codes directly. - define own system service acts proxy
activity manager
, registerservice manager
.recommended
Comments
Post a Comment