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