Java 获取正在运行的应用程序的简单名称

Java 获取正在运行的应用程序的简单名称,java,android,Java,Android,我如何使我的代码只显示我可以杀死的正在运行的应用程序的名称,因为在我的代码中它显示了包名,这对用户来说是非常混乱的。而且,我希望它在应用程序旁边有一个图标,这样用户就可以很容易地识别它。我从互联网上得到了这段代码,并将其用于我的项目。这是我的密码: private List<TaskObject> getTasksToKill() { List<TaskObject> tol = new ArrayList<TaskObject>();

我如何使我的代码只显示我可以杀死的正在运行的应用程序的名称,因为在我的代码中它显示了包名,这对用户来说是非常混乱的。而且,我希望它在应用程序旁边有一个图标,这样用户就可以很容易地识别它。我从互联网上得到了这段代码,并将其用于我的项目。这是我的密码:

    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;
        }

    }

    }
}
私有列表getTasksToKill(){ List tol=新的ArrayList(); 对于(inti=0;i
希望得到你所有的答案和建议。感谢您的帮助:)

我不知道如何在纯Java中实现这一点,但在本机代码中,您可以调用POSIX函数。如果为信号ID传递0,则不会向进程发送信号,但它仍会执行权限检查,以查看您是否可以控制该进程。基本上,对每个进程都这样做,并且只显示那些您没有收到错误的进程的列表。

为了让人们更容易回答您的问题,请删掉不相关的代码,只发布与问题相关的内容。我已经编辑过了,很抱歉不相关的代码:)伪代码:for(每个进程id中的thipid){if(kill(thispid,0)==0{I can affect thispid}}先生,这是用来获取运行应用程序的简单名称的。因为在我的代码中,我获取的是应用程序的包名,例如:com.android.music。我想要的只是易于阅读的音乐。:))