Java 如何在android的任务杀手中隐藏内部系统?

Java 如何在android的任务杀手中隐藏内部系统?,java,android,Java,Android,我在论文中遇到了一个问题,就是关于电池医生节电器的问题。我的问题是。api列表,我想要的是只得到运行的应用程序,而不是内部系统,因为在我的论文中,它也显示了内部系统。有没有办法移除任务杀手的内部系统?到目前为止,这是我获取正在运行的应用程序的代码: public void loadRunningProcesses() { ActivityManager activityManager = (ActivityManager) getSystemService(Co

我在论文中遇到了一个问题,就是关于电池医生节电器的问题。我的问题是。api列表,我想要的是只得到运行的应用程序,而不是内部系统,因为在我的论文中,它也显示了内部系统。有没有办法移除任务杀手的内部系统?到目前为止,这是我获取正在运行的应用程序的代码:

    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);
runningtask.setProcessName(runningAppProcessInfo.processName.substring(11));
            runningtask.setProcessName(runningAppProcessInfo.processName);

            }
        }

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

        } 
public void loadrunningprocesss(){
ActivityManager ActivityManager=(ActivityManager)getSystemService(Context.ACTIVITY_服务);
List appinfolist=activityManager
.getRunningAppProcesses();
Log.d(标记“AppInfoList大小:”+AppInfoList.Size());
对于(ActivityManager.RunningAppProcessInfo RunningAppProcessInfo:appinfolist){
TaskObject runningtask=新建TaskObject();
setPid(runningAppProcessInfo.pid);
runningtask.setProcessName(runningAppProcessInfo.processName);
adapter.addTask(runningtask);
runningtask.setProcessName(runningAppProcessInfo.processName.substring(11));
runningtask.setProcessName(runningAppProcessInfo.processName);
}
}
类TaskObject{
int-pid;
字符串进程名;
私人布尔托基尔;
公共int getPid(){
返回pid;
}
公共无效设置pid(内部pid){
this.pid=pid;
}
公共字符串getProcessName(){
返回进程名;
}
public void setProcessName(字符串processName){
this.processName=processName;
}
公共布尔isToKill(){
返回托基尔;
}
公共无效setToKill(布尔值toKill){
this.toKill=toKill;
}
} 


我已经找到了解决这个问题的办法。我只使用一个子字符串,并将第一个字母作为大写形式,请看我的代码:

for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : appinfolist) {
        TaskObject runningtask = new TaskObject();
        String ringgo = new String();

        ringgo = runningAppProcessInfo.processName.toLowerCase().trim();
        if (!ringgo.equals("system")){
            if (ringgo.length()>12){
            runningtask.setPid(runningAppProcessInfo.pid);
            runningtask.setProcessName(ringgo.substring(12).substring(0,1).toUpperCase()+ringgo.substring(13));
            adapter.addTask(runningtask);}
            else{
                runningtask.setPid(runningAppProcessInfo.pid);
                runningtask.setProcessName(ringgo.substring(0,1).toUpperCase()+ringgo.substring(1));
                adapter.addTask(runningtask);
            }
        }

    }
}

卡斯佩林:我在一篇帖子上做了标记,并打算对此发表评论,但你已经在大约5秒钟内删除了这篇帖子!令人惊奇的是,继续做好工作——你总是能掌控一切。很抱歉发布OT评论,但我想表达我的感激之情,请随意删除。@Madmartigan NP,考虑到这一切,我将让评论酝酿一段时间,沉浸其中。感谢您的支持=)