首先请注意,这个问题与我在SO上发现的所有“android前台应用程序”问题都不同,请继续阅读 :-)
我正在尝试使用golang编写一个android应用程序(仅供自己使用),而不使用android-sdk或ndk(这是关键点)。 这很简单,只需使用golang编写一个http服务,将其编译为arm CPU,然后访问http://localhost即可运行我的应用程序。
出于我的应用程序目的,我需要知道当前正在运行的前台应用程序,以准确定义它:
前台应用程序是占据屏幕或具有任何“活动”的应用程序(请原谅我不是android开发人员)。
与前台应用程序相关联的任何内容(例如服务)都不是我感兴趣的。
如果手机被锁定/屏幕关闭,我希望该解决方案告诉我没有前台应用程序。
由于我不使用任何android,只是将手机视为LINUX机器,因此我希望该解决方案使用本地LINUX方法,例如检查/proc,或通过调用任何已安装的android命令行工具(包括通过这些命令行工具发送消息)来解决问题,但不要使用任何SDK / NDK的方式,以便我不必使用java或将这些东西合并到我的应用程序中。