Android shell 获取前台应用包名

标签 android shell adb

<分区>

我正在使用 tasker 自动发送短信,我需要检查当前前台应用程序包名称是否为 x。如果是 x 则做其他事情做其他事情。我尝试使用 pgrep,但即使应用程序 x 在后台,它也会返回 pid。有没有办法从 shell 检查 x 是否在前台? 谢谢

最佳答案

这对我有用:

adb shell dumpsys window windows | grep -E 'mCurrentFocus' | cut -d '/' -f1 | sed 's/.* //g'

com.facebook.katana

Android Q 的更新答案是 mCurrentFocus 不再适合我:

adb shell dumpsys activity recents | grep 'Recent #0' | cut -d= -f2 | sed 's| .*||' | cut -d '/' -f1

关于Android shell 获取前台应用包名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28543776/

相关文章:

android - Firebase 分析 - 缺少调试 View ?

android - 升级到gms服务8.1后玩游戏服务不工作

android - 如何在 Android DPM 中删除 set-device-owner?

android - 正确实现 RecyclerView 适配器的点击监听器

.net - .NET MAUI 的登录页面

shell - ftp 用户名和密码在 shell 脚本中自动生成

c - 使用/将Linux shell命令 "echo 1=200 >/dev/mydevice"转换为c程序

android - 通过 ADB Shell 在 Android 上启动 Hostapd

android - 如何在我的应用程序中实现 AT 命令调用?

android - 在 Android 上通过 PhoneGap 发送短信