java - 如何以编程方式获取所有正在运行的应用程序的列表
问题描述
我正在尝试这种方法,但它已被弃用。
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < tasks.size(); i++) {
Log.e("Running task", "Running task: " + tasks.get(i).baseActivity.toShortString() + "\t\t ID: " + tasks.get(i).id);
}
解决方案
你可以试试这个:
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> pkgAppsList =
context.getPackageManager().queryIntentActivities( mainIntent, 0);
推荐阅读
- apache-flink - 如何通过IntelliJ的sbt添加Kafka连接器?我想添加通用连接器以支持 Kafka 2.3
- powershell - PowerShell 'q' 不会破坏 'more' 进程
- multithreading - 如何设计 Mutex 的可变集合?
- automation - cypress - 执行操作,直到元素显示在屏幕上
- dataframe - 如何获取几列的最大值并在数据框中创建一个新列
- python - Pyopengl 中是否有任何 Inbuild 函数可以在鼠标悬停在对象上时选择对象?
- mysql - 根据 IF 条件获取值
- java - Apache POI 无法替换空白 Excel 单元格
- sql - Google Big Query 检查 json 键是否存在
- flutter - 如何删除android设备中的默认填充