package com.example.sleep.utils;

import android.app.ActivityManager;
import android.content.Context;

import java.util.List;
/**
 * 辅助工具类，用于获取进程名称
 */
public class ApkHelper {
    /**
     * 获取当前进程名称
     *
     * @param context 应用程序上下文
     * @return 当前进程名称
     */
    public static String getProcessName(Context context) {
        // 获取当前进程ID
        int pid = android.os.Process.myPid();
        // 获取Activity管理器
        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        if (am == null) {
            // 如果Activity管理器为空，返回空
            return null;
        }
        // 获取正在运行的进程列表
        List<ActivityManager.RunningAppProcessInfo> processes = am.getRunningAppProcesses();
        if (processes == null) {
            // 如果进程列表为空，返回空
            return null;
        }
        for (ActivityManager.RunningAppProcessInfo info : processes) {
            if (info.pid == pid) {
                // 遍历进程列表，找到与当前进程ID匹配的进程名称并返回
                return info.processName;
            }
        }
        // 未找到匹配的进程名称，返回空
        return null;
    }
}