Android获取APP当前进程的名称

public static String getProcessName(Context cxt, int pid) {
    ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningAppProcessInfo> runningApps = am.getRunningAppProcesses();
    if (runningApps == null) {
        return null;
    }
    for (ActivityManager.RunningAppProcessInfo procInfo : runningApps) {
        if (procInfo.pid == pid) {
            return procInfo.processName;
        }
    }
    return null;
}

在 Application 的 onCreate 中获取进程名称并进行相应的判断,例如:

//cn.appblog.demo
String processName = AppUtil.getProcessName(this, android.os.Process.myPid());

//判断进程名,保证只有主进程运行
if (!TextUtils.isEmpty(processName) && processName.equals(this.getPackageName())) {
    //主进程初始化逻辑
}
上一篇 Android获取音频焦点
下一篇 Android实现3种Notification(状态栏通知)
目录
文章列表
1 CentOS 7下OpenLDAP编译安装及配置
CentOS 7下OpenLDAP编译安装及配置
2
Spring Boot邮件服务
Spring Boot邮件服务
3
502错误 Nginx日志 upstream sent too big header while reading response header from upstream
502错误 Nginx日志 upstream sent too big header while reading response header from upstream
4
Android 7.0使用FileProvider解决file:// URI引起的FileUriExposedException异常
Android 7.0使用FileProvider解决file:// URI引起的FileUriExposedException异常
5
Java判断IP地址是否在CIDR范围内
Java判断IP地址是否在CIDR范围内
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。