You need to enable JavaScript to run this app. 如何跟踪当前可见的fragment及正在运行的activity并获取其类名
优惠活动
大模型
产品
解决方案
定价
更多

如何跟踪当前可见的fragment及正在运行的activity并获取其类名

如何获取Android应用当前运行的Activity与可见Fragment类名

以下是几种不同场景下的实现方案:

方法1:使用Android Studio自带工具(无需修改代码)

  • 打开Android Studio,连接测试设备并启动目标应用
  • 点击顶部菜单栏的 Layout Inspector(也可以通过顶部全局搜索框直接搜索名称快速打开)
  • 左侧组件树的顶部会直接展示当前栈顶Activity的完整类名,展开Activity节点下的FragmentManager相关条目,即可看到当前所有已附加、处于可见状态的Fragment完整类名

方法2:通过代码打日志实现(支持自定义监控逻辑)

全局监控Activity生命周期

可通过注册Application的Activity生命周期回调实现全局监听,无需逐个修改Activity代码
在自定义Application的onCreate方法中添加如下代码:

registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
    override fun onActivityResumed(activity: Activity) {
        // 处于Resumed状态的Activity就是当前正在前台运行的实例
        Log.d("ComponentTracker", "当前运行Activity: ${activity.javaClass.name}")
    }
    // 其余生命周期方法空实现即可,无需额外编写逻辑
    override fun onActivityCreated(p0: Activity, p1: Bundle?) {}
    override fun onActivityStarted(p0: Activity) {}
    override fun onActivityPaused(p0: Activity) {}
    override fun onActivityStopped(p0: Activity) {}
    override fun onActivitySaveInstanceState(p0: Activity, p1: Bundle) {}
    override fun onActivityDestroyed(p0: Activity) {}
})

全局监控可见Fragment

AndroidX包支持全局Fragment生命周期回调注册,同样不需要逐个修改Fragment代码
在上述Activity的onActivityResumed回调中添加如下代码:

p0.supportFragmentManager.registerFragmentLifecycleCallbacks(object : FragmentManager.FragmentLifecycleCallbacks() {
    override fun onFragmentResumed(fm: FragmentManager, f: Fragment) {
        // 同时判断可见状态,避免统计到预加载的不可见Fragment
        if (f.isVisible && f.userVisibleHint) {
            Log.d("ComponentTracker", "当前可见Fragment: ${f.javaClass.name}")
        }
    }
}, true)

方法3:使用adb命令直接查询(无需修改代码、无需打开Android Studio)

  • 确保测试设备开启了USB调试,本地电脑已配置adb环境
  • 执行命令 adb shell dumpsys activity top | grep ACTIVITY 即可直接输出当前栈顶Activity的完整类名
  • 执行命令 adb shell dumpsys activity top | grep Fragment 可以筛选出当前Activity下所有Fragment的相关信息,从中可直接提取到可见Fragment的类名

内容的提问来源于stack exchange,提问作者Valery Kalesnikau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 10:21:03