我有个root服务进程。我怎么去判断一个app是否启动呢 。其实可以遍历linux进程名。但是我想判断这个app是否前台。。。
如果没有启动。我想启动他 。感觉Android不像ios 。好多在java虚拟机里面。root进程都不好实现。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
chinester 是否在前台 Shell执行下 dumpsys activity
小木马 am start可以启动app
Troy 感谢 我就是用的am start启动的 但是这个启动要获取包的活动名字。获取这个费了下力。
琳宇 这个并不难,你只需要找到mainActivity就可以了。有这个main属性的
在Root模式下,可以通过以下方式判断一个 APP 是否启动:1.查看进程列表:可以使用命令行工具(如Terminal)或者 Android 应用(如 Root Explorer)来查看当前系统中的进程列表。可以在进程列表中查找相应的 APP 进程是否存在,如果存在则说明 APP 已经启动。2.监听日志输出:可以使用命令行工具(如 logcat)或者 Android 应用(如 CatLog)来监听系统日志输出,通过过滤日志信息来判断是否有相应的 APP 启动信息。例如,可以通过过滤包名或者应用名称,来查看相应的 APP 是否有启动日志输出。3.查看应用状态:可以使用命令行工具(如 am)或者 Android 应用(如 Tasker)来查看应用状态。通过使用 am 命令中的 get-task-state 参数,可以获取应用的状态信息,包括是否在前台运行或者后台运行等。需要注意的是,以上方法都需要在 Root 权限下运行,否则可能无法访问系统进程或者系统日志。同时,这些方法也可能存在一定的局限性,例如如果应用采用了隐藏进程或者加密日志的方式,那么以上方法可能无法起作用。from ChatGPT
取进程pid判断是否有指定应用包名!