Android判断任意的app是否运行在前台
时间: 2023-12-11 08:02:58 浏览: 120
可以通过使用ActivityManager类的getRunningAppProcesses()方法获取当前正在运行的进程列表,然后遍历列表中的每个进程,判断该进程是否包含当前运行的任务的包名,如果包含,则说明该应用正在前台运行。具体实现代码如下:
```java
public static boolean isAppForeground(Context context, String packageName) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
if (appProcesses == null) {
return false;
}
for (ActivityManager.RunningAppProcessInfo processInfo : appProcesses) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
&& processInfo.processName.equals(packageName)) {
return true;
}
}
return false;
}
```
其中,参数context为应用程序上下文对象,参数packageName为要判断的应用程序的包名。返回值为布尔类型,表示该应用程序是否在前台运行。
阅读全文