有没有办法在Android中获取所有当前活动的应用程序?

有没有办法在Android中获取所有当前活动的应用程序?,android,Android,当用户在某个时间段内打开其他应用程序时,我需要锁定它们,但我不想实施一项服务,该服务会在每秒钟后检查哪个应用程序被打开并相应地锁定。我希望Android能以某种方式播放活动应用程序信息 有可能吗?如果有,怎么做?调用ActivityManager.GetRunningAppProcesss(),它将为您提供正在运行的应用程序列表。如果您想查看详细信息,请遍历ActivityManager.RunningAppProcessInfo对象 您还可以通过以下方式检查您的应用程序是否处于后台: publ

当用户在某个时间段内打开其他应用程序时,我需要锁定它们,但我不想实施一项服务,该服务会在每秒钟后检查哪个应用程序被打开并相应地锁定。我希望Android能以某种方式播放活动应用程序信息


有可能吗?如果有,怎么做?

调用
ActivityManager.GetRunningAppProcesss()
,它将为您提供正在运行的应用程序列表。如果您想查看详细信息,请遍历
ActivityManager.RunningAppProcessInfo
对象

您还可以通过以下方式检查您的应用程序是否处于后台:

public static boolean isAppIsInBackground(Context context) {
    boolean isInBackground = true;
    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) {
        List<ActivityManager.RunningAppProcessInfo> runningProcesses = am.getRunningAppProcesses();
        for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) {
            if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                for (String activeProcess : processInfo.pkgList) {
                    if (activeProcess.equals(context.getPackageName())) {
                        isInBackground = false;
                    }
                }
            }
        }
    } else {
        List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
        ComponentName componentInfo = taskInfo.get(0).topActivity;
        if (componentInfo.getPackageName().equals(context.getPackageName())) {
            isInBackground = false;
        }
    }

    return isInBackground;
}
public静态布尔值isAppIsInBackground(上下文){
布尔值isInBackground=true;
ActivityManager am=(ActivityManager)context.getSystemService(context.ACTIVITY_服务);
if(Build.VERSION.SDK\u INT>Build.VERSION\u code.KITKAT\u WATCH){
List runningprocesss=am.getrunningappprocesss();
对于(ActivityManager.RunningAppProcessInfo processInfo:RunningProcesss){
if(processInfo.importance==ActivityManager.RunningAppProcessInfo.importance\u前台){
for(字符串activeProcess:processInfo.pkgList){
if(activeProcess.equals(context.getPackageName())){
isInBackground=假;
}
}
}
}
}否则{
List taskInfo=am.getRunningTasks(1);
ComponentName componentInfo=taskInfo.get(0).topActivity;
if(componentInfo.getPackageName().equals(context.getPackageName())){
isInBackground=假;
}
}
返回背景;
}
我希望Android能以某种方式播放活动应用程序信息

这是不存在的