在运行时捕获/拦截 Android Intents

问题描述 投票:0回答:2

有没有办法在不修改Android框架的情况下在运行时捕获/拦截应用程序的Intent? 修改Android框架可能需要太多工作。 请帮助我。

android android-intent runtime
2个回答
46
投票

要查看发生的意图,请在 shell 中运行 logcat 并将其过滤为仅显示意图,如下所示:

adb logcat | fgrep -我的意图

(您还可以仅针对应用程序的意图添加过滤器,但这会排除系统和其他应用程序发送到您的应用程序的意图。)

这应该显示意图,例如

I/ActivityManager(585):启动活动:Intent {action=android.intent.action...}

要查看系统范围的意图,请尝试意图拦截应用程序

要查看发送到您自己的类的所有意图,然后

有关所有标准 Intent 操作的信息,请参阅 Intent


0
投票

在仪器测试中(在 UI Automator 上尝试过),您可以使用 IntentMonitor:

val intentMonitor = IntentMonitorRegistry.getInstance()
intentMonitor.addIntentCallback { intent ->
    // your code here
}
© www.soinside.com 2019 - 2024. All rights reserved.