2012-01-28 116 views
0

如何讓我的代碼僅顯示正在運行的應用程序的名稱,因爲在我的代碼中,它顯示了程序包名稱,這對用戶來說非常混亂。另外,我希望它在應用程序旁邊有一個圖標,以便用戶可以輕鬆識別它。我從互聯網上獲得了這些代碼,並將其用於我的項目。這裏是我的代碼:獲取正在運行的應用程序的簡單名稱

private List<TaskObject> getTasksToKill() { 
     List<TaskObject> tol = new ArrayList<TaskObject>(); 

     for (int i = 0; i < adapter.getCount(); i++) { 
      TaskObject to = adapter.getItem(i); 
      if (to.isToKill()) { 
       tol.add(to); 
      } 
     } 

     return tol; 
    } 


    public void loadRunningProcesses() { 

     ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 

     List<RunningAppProcessInfo> appinfolist = activityManager 
       .getRunningAppProcesses(); 

     Log.d(TAG, "AppInfoList Size: " + appinfolist.size()); 

     for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : appinfolist) { 
      TaskObject runningtask = new TaskObject(); 
      runningtask.setPid(runningAppProcessInfo.pid); 
      runningtask.setProcessName(runningAppProcessInfo.processName); 
      adapter.addTask(runningtask); 
     } 
    } 

    class TaskObject { 
     int pid; 
     String processName; 
     private boolean toKill; 

     public int getPid() { 
      return pid; 
     } 

     public void setPid(int pid) { 
      this.pid = pid; 
     } 

     public String getProcessName() { 
      return processName; 
     } 

     public void setProcessName(String processName) { 
      this.processName = processName; 
     } 

     public boolean isToKill() { 
      return toKill; 
     } 

     public void setToKill(boolean toKill) { 
      this.toKill = toKill; 
     } 

    } 

    } 
} 

希望所有的答案和建議。感謝您的幫助:)

+0

爲了讓人們更容易回答您的問題,請刪除不相關的代碼,只是發佈與問題相關的任何內容。 – 2012-01-28 15:29:03

+0

我已經編輯它我很抱歉不相關的代碼:) – 2012-01-28 16:01:07

回答

0

我不確定如何在純Java中執行此操作,但在本地代碼中,您可以調用POSIX kill(2)函數。如果您爲信號ID傳遞0,則不會向該進程發送任何信號,但它仍會執行特權檢查以查看是否可以控制該進程。基本上爲每個進程執行此操作,並僅顯示那些沒有錯誤的進程列表。

+0

我該如何使用它? – 2012-01-29 04:06:47

+0

僞代碼:for(thispid in each process id){if(kill(thispid,0)== 0){我可以影響thispid}} – 2012-01-30 23:00:10

+0

sir是用於獲取運行應用程序的簡單名稱。因爲在我的代碼中,我得到應用程序的包名稱,例如:_com.android.music_,我想要的是僅容易閱讀的_music_。 :))) – 2012-01-31 03:25:01

相關問題