Android快速获取当前Activity类名的三种方法

据说程序猿最讨厌的两件事:一是给代码写详细的注释;二是阅读别人的代码没注释。
在程序猿的世界里,大部分都是接手的别人的项目,而对于一些项目文档全面,项目代码规范,在阅读代码的时候相对轻松些,不至于当前是哪个Activity都不知道。But,理想是丰满的,现实是骨感的。规范的一点的,会写个BaseActivity,让项目中所有的Activity继承这个BaseActivity,然后再Activity中获取当前的活动名,包括包名。
那本文就说的是如何来打印当前的Activity类名。所以加上上面的继承自BaseAcitivty的方法,还有其他2种方法:

1). 通过Android studio的控制台的adb命令来打印Activity信息
这个主要是利用的adb命令去打印当前的Activity的信息,包括栈名,栈内Activity的信息,类名,所在线程名等信息。优点是信息全面,缺点是每次切换一个界面,就得重新输入一次命令。
命令如下

adb shell dumpsys activity activities 

当然在输入这个命令的时候,首先你得找到你的adb所在的目录。
比如下面这个:

cd D:\android-sdk\platform-tools

嫌每次打印麻烦的,可以直接配置到环境变量中去,在path路径后,添加你的platform-tools的路径名。
打印信息如下:

ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
  Main stack:
  * TaskRecord{42955d30 #2 A com.miui.home U 0}
    numActivities=1 rootWasReset=true userId=0
    affinity=com.miui.home
    intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10600000 cmp=com.miui.home/.launcher.Launcher}
    realActivity=com.miui.home/.launcher.Launcher
    askedCompatMode=false
    lastThumbnail=null lastDescription=null
    lastActiveTime=710219844 (inactive for 1158s)
    ignoreFromRecent=false
    * Hist #0: ActivityRecord{42707110 u0 com.miui.home/.launcher.Launcher}
        packageName=com.miui.home processName=com.miui.home
        launchedFromUid=0 userId=0
        app=ProcessRecord{42907f38 13729:com.miui.home/u0a10035}
        Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.miui.home/.launcher.Launcher }
        frontOfTask=true task=TaskRecord{42955d30 #2 A com.miui.home U 0}
        taskAffinity=com.miui.home
        realActivity=com.miui.home/.launcher.Launcher
        baseDir=/system/app/MiuiHome.apk
        dataDir=/data/user/0/com.miui.home
        stateNotNeeded=true componentSpecified=false isHomeActivity=true
        compat={240dpi} labelRes=0x7f0c00
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值