android - 如何在 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));
}
}
解决方案
您可以使用ActivityService
获取 android 中所有正在运行的进程
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<runningappprocessinfo> runningProcesses = manager.getRunningAppProcesses();
推荐阅读
- javascript - Chromium 在哪里存储 Javascript 临时数据
- sql - 使用 jdbc 在另一个变量中查询结果
- javascript - 更改 Weback 错误消息中的路径格式
- email - 无法使用 SMTP 配置带有 Outlook 帐户的外发邮件服务器
- python - 在变量列上对 pandas df 进行分组
- sql - DELETE FROM + LEFT JOIN SNOWFLAKE
- excel - 在 VBA 中移动后如何回到原来的活动单元格?
- node.js - 如何将 Azure AppSettings 传递给在 Linux AppService 上运行的 NodeJS 应用程序
- python - 如何使用不同的python版本共享安装在anaconda上的模块?
- c# - Umbraco lucene 查询Where And Or