2012-01-28 76 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

相关问题