首页 > 解决方案 > 如何在 Android 8 及更高版本中获取所有当前正在运行的进程 ID

问题描述

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
            UsageStatsManager usm = (UsageStatsManager) context.getApplicationContext().getSystemService("usagestats");
            long time = System.currentTimeMillis();
            List<UsageStats> appListO = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 1000, time);
            if (appListO != null && appListO.size() > 0) {
                for (UsageStats usageStats : appListO) {
                    Integer PID1= ? 
                 
                    unSortedMap.put(usageStats.getPackageName(), getUsage(PID1));

                }
            }

标签: android

解决方案


您可以使用ActivityService获取 android 中所有正在运行的进程

ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<runningappprocessinfo> runningProcesses = manager.getRunningAppProcesses();

推荐阅读