gpt4 book ai didi

android - 检查android应用程序是否在前台?

转载 作者:IT老高 更新时间:2023-10-28 13:05:00 25 4
gpt4 key购买 nike

对于这个问题,我经历了很多答案。但这都是关于单个 Activity 的。如何检查整个应用程序是否在前台运行?

最佳答案

我不明白你想要什么,但是你可以使用 ActivityManager.getRunningAppProcesses() 调用来检测当前的前台/后台应用程序。

类似的,

class ForegroundCheckTask extends AsyncTask<Context, Void, Boolean> {

@Override
protected Boolean doInBackground(Context... params) {
final Context context = params[0].getApplicationContext();
return isAppOnForeground(context);
}

private boolean isAppOnForeground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
if (appProcesses == null) {
return false;
}
final String packageName = context.getPackageName();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND && appProcess.processName.equals(packageName)) {
return true;
}
}
return false;
}
}

// Use like this:
boolean foregroud = new ForegroundCheckTask().execute(context).get();

如果我误解了也请告诉我..

更新:看看这个 SO 问题 Determining the current foreground application from a background task or service更多信息..

谢谢..

关于android - 检查android应用程序是否在前台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com