首页 > 系统相关 >Android 获取进程名称

Android 获取进程名称

时间:2023-12-26 20:37:26浏览次数:35  
标签:buffer 获取 进程 new Android null

Android 获取进程名称

本篇文章主要获取下当前应用的进程名称,具体代码如下:

public static String getProcessNameDevice(final Context context) {
    int myPid = Process.myPid();
    if (context == null || myPid <= 0) {
        return "";
    }

    ActivityManager.RunningAppProcessInfo myProcess = null;
     // 获取ActivityManager
    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

    if (activityManager != null) {
        // 获取正在运行的进程列表
        List<ActivityManager.RunningAppProcessInfo> appProcessList = activityManager.getRunningAppProcesses();
        if (appProcessList != null) {
            try {
                // 遍历进程列表,获取进程名
                for (ActivityManager.RunningAppProcessInfo process : appProcessList) {
                    if (process.pid == myPid) {
                        myProcess = process;
                        break;
                    }
                }
            } catch (Exception e) {
                Log.e(TAG, "getProcessNameInternal exception:" + e.getMessage());
            }

            if (myProcess != null) {
                return myProcess.processName;
            }
        }
    }

    FileInputStream in = null;
    try {
        String fn = "/proc/self/cmdline";
        in = new FileInputStream(fn);
        byte[] buffer = new byte[256];
        int len = 0;
        int b;
        while ((b = in.read()) > 0 && len < buffer.length) {
            buffer[len++] = (byte) b;
        }
        return new String(buffer, 0, len, Charset.forName("UTF-8"));
    } catch (Throwable e) {
        throw new AssertionError(e);
    } finally {
        if (in != null) {
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

需要注意:

  1. 自Android 5.1版本开始,Google限制了对getRunningAppProcesses()方法的访问权限,只允许获取当前应用的进程信息,而不允许获取其他应用或系统进程的信息.

标签:buffer,获取,进程,new,Android,null
From: https://www.cnblogs.com/zhjing/p/17929289.html

相关文章

  • Android 依据Build相关信息判断机型
    Android依据Build相关信息判断机型本文主要通过Build的相关信息获取机型,目前机型判断的较少,后续继续维护更新publicstaticStringparseBuild(){StringBuildersb=newStringBuilder();StringderiveFingerprint=Build.FINGERPRINT;Stringmanufacturer......
  • Android BluetoothAdapter 使用(二)
    AndroidBluetoothAdapter使用(二)本篇文章主要讲下蓝牙设备的配对.1:蓝牙设备列表展示下面是蓝牙设备adapter的代码:packagecom.test.bluetooth;importandroid.bluetooth.BluetoothDevice;importandroid.content.Context;importandroid.view.LayoutInflater;impo......
  • Android Notification 以及 通知铃音使用
    AndroidNotification以及通知铃音使用上一篇文章讲了手机震动的使用.本篇继续讲解铃音的使用,并且在讲下通知消息的使用.1:通知消息的使用代码如下:publicstaticvoidnotice(Contextcontext){try{NotificationCompat.Builderbuilder=ne......
  • python获取已安装程序列表
    python获取已安装程序列表本文主要讲述通过python脚本获取android设备已安装列表。首先,Python本身无法直接获取Android设备上已安装的程序列表,所以这里主要借助adb命令来实现。具体的内容如下:#!/usr/bin/python#coding=utf-8importsubprocessimportos#通过adb命令获取......
  • Android Vibrator 手机震动
    AndroidVibrator手机震动本篇文章主要讲下手机震动.1:检测是否支持震动/***@paramcontext*@return*是否支持手机震动*/publicstaticbooleanhasVibrator(Contextcontext){ObjectsystemService=context.getSystemService(Context.VIBRATOR_SERVICE);......
  • android-studio-2021.1.1.11-windows 版本遇到的各种大坑
    1、使用2023.12月的最新版本会无法选择java语言开发,所以必须选择较老的版本,比如我选择的android-studiobumbblebee 2021.1.1.11这个版本就可以选择java语言。2、不光需要设置代码自动补全提示,更重要的是最新的SDK,androidapi34有bug,无法语法提示,也可能是不支持我所使用的语......
  • 进程中的if和else
    进程互斥实验的时候遇到了一段代码没有看懂#include<stdio.h>#include<unistd.h>intmain(){intp1,p2,i;while((p1=fork())==-1);/*创建子进程p1*/if(p1==0){lockf(1,1,0);/*加锁,这里第一个参数为stdout(标准输......
  • SSM 框架中 Form表单提交 通过request.getParameter("属性名") 获取的结果为null
    今日换机器引入项目源码之后,项目中表单提交到后台,获取不到参数值前台代码大致如下<formaction="/login"method="post"name="loginForm"id="loginForm"><divstyle="width:382px;height:376px;padding:27px0px;margin:0px84px......
  • 内存、典型锁、相对地址、内存覆盖、守护进程、孤儿进程、僵尸进程、局部性原理
    内存与其作用:内存是用于存放数据的硬件,程序执行前需要 先放到内存 才可以被CPU处理典型的几种锁:读写锁:......
  • py图网址获取
    importrequestsfromlxmlimportetreecookies={'__51cke__':'','_gid':'GA1.2.1082932432.1702784419','_gat_gtag_UA_198130079_67':'1','__tins__21482327':'%7......