java - 获取有关所有正在运行的进程的信息

标签 java android taskmanager

<分区>

我有一个想法为 android 制作任务管理器。谁能告诉我如何在 android 中获取所有当前运行的进程?

最佳答案

使用下面的代码你可以获得正在运行的进程列表:-

ActivityManager actvityManager = (ActivityManager)
this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();

for(RunningAppProcessInfo runningProInfo:procInfos){

        Log.d("Running Processes", "()()"+runningProInfo.processName);
}

更多信息您可以访问this link.

要根据包名称获取应用程序名称,请使用 PackageManager 类。

final PackageManager pkgmgr = getApplicationContext().getPackageManager();
ApplicationInfo appinfo;
try {
    appinfo = pkgmgr.getApplicationInfo( this.getPackageName(), 0);
} catch (final NameNotFoundException e) {
    appinfo = null;
}
final String applicationName = (String) (appinfo != null ? pkgmgr.getApplicationLabel(appinfo) : "(unknown)");

根据 PID 使用获取应用名称:-

public static String getAppNameByPID(Context context, int pid){
    ActivityManager manager 
               = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

    for(RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()){
        if(processInfo.pid == pid){
            return processInfo.processName;
        }
    }
    return "";
}

最后检查一个应用程序是否是系统应用程序使用:-

private boolean isSystemPackage(PackageInfo pkgInfo) {
        return (pkgInfo.applicationInfo.flags & 
                ApplicationInfo.FLAG_SYSTEM) != 0;
    }

关于java - 获取有关所有正在运行的进程的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25721994/

相关文章:

java - Spring Boot - 如何将自定义 header 添加到 SOAP 响应?

java - Caffeine Expiry 中如何设置多个过期条件?

java - Android 中可从 URL 有限内存中绘制

java - 计算平均值时意外的返回值?

android - Recyclerview透明背景

Android,日历,向事件添加 RRULE 永远不起作用

excel - 如何通过 VBA 代码终止任务管理器进程?

Gulp Imagemin 未完成

python - 我怎么知道 taskmgr 中运行的是哪个 python 脚本?

JavaFX 使用 AES-256 加密和解密 Zip。 IVParameterSpec 错误