<分区>
我正在使用 tasker 自动发送短信,我需要检查当前前台应用程序包名称是否为 x。如果是 x 则做其他事情做其他事情。我尝试使用 pgrep,但即使应用程序 x 在后台,它也会返回 pid。有没有办法从 shell 检查 x 是否在前台? 谢谢
<分区>
我正在使用 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 适配器的点击监听器
shell - ftp 用户名和密码在 shell 脚本中自动生成
c - 使用/将Linux shell命令 "echo 1=200 >/dev/mydevice"转换为c程序
android - 通过 ADB Shell 在 Android 上启动 Hostapd