Java 如何在android的任务杀手中隐藏内部系统?
我在论文中遇到了一个问题,就是关于电池医生节电器的问题。我的问题是。api列表,我想要的是只得到运行的应用程序,而不是内部系统,因为在我的论文中,它也显示了内部系统。有没有办法移除任务杀手的内部系统?到目前为止,这是我获取正在运行的应用程序的代码:Java 如何在android的任务杀手中隐藏内部系统?,java,android,Java,Android,我在论文中遇到了一个问题,就是关于电池医生节电器的问题。我的问题是。api列表,我想要的是只得到运行的应用程序,而不是内部系统,因为在我的论文中,它也显示了内部系统。有没有办法移除任务杀手的内部系统?到目前为止,这是我获取正在运行的应用程序的代码: public void loadRunningProcesses() { ActivityManager activityManager = (ActivityManager) getSystemService(Co
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,考虑到这一切,我将让评论酝酿一段时间,沉浸其中。感谢您的支持=)