Capturing/Intercepting Android Intents during runtime
Asked Answered
S

2

28

Is there any way to capture/intercept Intents of application during runtime without modifying Android framework? Modifying Android framework might require too much work. Please help me.

Spectrum answered 14/10, 2014 at 23:21 Comment(0)
C
46

To view Intents as they happen, run logcat in a shell and filter it down to just the Intents like this:

adb logcat | fgrep -i intent

(You can also add a filter for just your app's Intents, but that would exclude Intents sent to your app by the system and by other apps.)

This should show Intents such as

I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}

To see system-wide Intents, try the Intent Intercept app.

To see all Intents sent to your own classes, then

For info on all the standard Intent actions, see Intent.

Cardigan answered 14/10, 2014 at 23:29 Comment(2)
Thank you for your comments. I'm trying to see all the explicit/implicit Intents of my application. In detail, I need to know which Activity sent which Intent and which Activity received it during runtime. Is it possible?Spectrum
@Spectrum I added instructions for viewing Intents via logcat and for capturing Intents sent to your Activities and Services as well as BroadcastReceivers.Cardigan
M
1

Inside instrumentation tests (tried on UI Automator) you can use IntentMonitor:

val intentMonitor = IntentMonitorRegistry.getInstance()
intentMonitor.addIntentCallback { intent ->
    // your code here
}
Mandelbaum answered 15/12, 2023 at 14:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.