Android编程实例-获取当前进程名字


下面代码是根据进程id获取进程名字:

 1 /**
 2  * 根据Pid获取当前进程的名字,一般就是当前app的包名
 3  *
 4  * @param context 上下文
 5  * @param pid 进程的id
 6  * @return 返回进程的名字
 7  */
 8 private String getAppName(Context context, int pid)
 9 {
10     ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
11     List list = activityManager.getRunningAppProcesses();
12     Iterator i = list.iterator();
13     while (i.hasNext())
14     {
15         ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo) (i.next());
16         try
17         {
18             if (info.pid == pid)
19             {
20                 // 根据进程的信息获取当前进程的名字
21                 return info.processName;
22             }
23         } 
24         catch (Exception e) 
25         {
26             e.printStackTrace();
27         }
28     }
29     // 没有匹配的项,返回为null
30     return null;
31 }

代码调用:

1 // 获取当前进程 id 并取得进程名
2 int pid = android.os.Process.myPid();
3 String processAppName = getAppName(context,pid);

上面代码是网上找到的代码,由于我只需要获取当前进程的名字,所以我修改了一下:

 1 /**
 2  * 获取当前进程的名字,一般就是当前app的包名
 3  *
 4  * @param context 当前上下文
 5  * @return 返回进程的名字
 6  */
 7 public static String getAppName(Context context)
 8 {
 9     int pid = android.os.Process.myPid(); // Returns the identifier of this process
10     ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
11     List list = activityManager.getRunningAppProcesses();
12     Iterator i = list.iterator();
13     while (i.hasNext())
14     {
15         ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo) (i.next());
16         try
17         {
18             if (info.pid == pid)
19             {
20                 // 根据进程的信息获取当前进程的名字
21                 return info.processName;
22             }
23         }
24         catch (Exception e)
25         {
26             e.printStackTrace();
27         }
28     }
29     // 没有匹配的项,返回为null
30     return null;
31 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM