android任务管理器(12项功能)

来源:互联网 发布:linux的ip地址配置 编辑:程序博客网 时间:2024/06/16 19:53

          首先说下,这个源代码是从eoe上down来的,自己就是稍微改了下界面,其他基本上没动,很多代码命名不规范的地方,大家担待下,先看下程序运行效果吧,


当你点击相应图标,会出现相对应的列表,在下面会附上下载地址。


在这里只简单的把功能代码列举下,详细代码可以自己研究:


ActivityManager am=null;PackageManager pm=null;PackageInfo info=null;ActivityManager.MemoryInfo memoryInfo=null;//进程列表List<RunningAppProcessInfo>processInfos=null;//安装程序列表List<ApplicationInfo>applicationInfos=null;//任务列表List<RunningTaskInfo>taskInfos=null;List<RunningServiceInfo>serviceInfos=null;ListAdapter adapter=null;                                                                                                           am=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);pm=getApplicationContext().getPackageManager();pm.getInstalledPackages(0);    processInfos=new ArrayList<RunningAppProcessInfo>();    applicationInfos=new ArrayList<ApplicationInfo>();    info=new PackageInfo();    memoryInfo=new ActivityManager.MemoryInfo();    listView=(ListView)findViewById(R.id.list);    memoryUtil=new ProcessMemoryUtil();    memoryUtil.initPMUtil();



获取正在运行的进程列表:

public void getRunningAppProcessInfo(){    processInfos=am.getRunningAppProcesses();    Log.i("getRunningAppProcessInfo", "共"+processInfos.size());    for(int i=0;i<processInfos.size();i++){    /*Log.i("getRunningAppProcessInfo", processInfos.get(i).processName+", "+    processInfos.get(i).pid);*/    }    }     public List<Map<String,String>> getRunningAppProcessInfo1(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();    processInfos=am.getRunningAppProcesses();    Map<String, String>map=new HashMap<String, String>();    map.put("进程名", "共"+processInfos.size()+"条");    list.add(map);    for(int i=0;i<processInfos.size();i++){    map=new HashMap<String, String>();    map.put("进程名", processInfos.get(i).processName);    map.put("CPU", memoryUtil.getMemInfoByPid(processInfos.get(i).pid));    list.add(map);    }    return list;    }


获取安装程序列表:

public void getApplicationInfoList(){    applicationInfos=pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);    //Log.i("getApplicationInfoList", "共"+applicationInfos.size());    for(int i=0;i<applicationInfos.size();i++){    /*Log.i("getApplicationInfoList",applicationInfos.get(i).packageName+"\t\t "+    applicationInfos.get(i).processName);*/    }    }    public List<Map<String,String>> getApplicationInfoList1(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();    applicationInfos=pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);    Map<String, String>map=new HashMap<String, String>();    map.put("进程名", "共"+applicationInfos.size()+"条");    list.add(map);    for(int i=0;i<applicationInfos.size();i++){    map=new HashMap<String, String>();    map.put("进程名", applicationInfos.get(i).processName);    list.add(map);    }    return list;    }
获取包信息:

public void getPackageInfo() throws NameNotFoundException{    //Log.i("getPackageInfo", "共"+processInfos.size());    for(int i=0;i<processInfos.size();i++){    info=pm.getPackageInfo(processInfos.get(i).processName, PackageManager.GET_ACTIVITIES);    //Log.i("getPackageInfo", info.packageName);    }    }    public List<Map<String, String>> getPackageInfo1(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();    for(int i=0;i<processInfos.size();i++){    Map<String , String>map=new HashMap<String, String>();    try {info=pm.getPackageInfo(processInfos.get(i).processName, PackageManager.GET_ACTIVITIES);map.put("包名", info.packageName);list.add(map);} catch (NameNotFoundException e) {e.printStackTrace();/*map.put("包名", "空");list.add(map);*/}    }    return list;    }

获取任务名和图表:

public void getLoadIconAndLabel(){    Log.i("getLoadIconAndLabel", "共"+applicationInfos.size());    for(int i=0;i<applicationInfos.size();i++){    //Log.i("getLoadIconAndLabel", applicationInfos.get(i).loadIcon(pm).toString()+", "+applicationInfos.get(i).loadLabel(pm).toString());    }    }    public List<Map<String,String>> getLoadIconAndLabel1(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();    Map<String, String>map=new HashMap<String, String>();    map.put("进程名", "共"+applicationInfos.size()+"条");    list.add(map);    for(int i=0;i<applicationInfos.size();i++){    map=new HashMap<String, String>();    map.put("图片", applicationInfos.get(i).loadIcon(pm).toString());    map.put("名字", applicationInfos.get(i).loadLabel(pm).toString());    list.add(map);    }    return list;    } 

获取系统可用内存大小:

 public void getMemoryInfo(){    am.getMemoryInfo(memoryInfo);    String memory=Formatter.formatFileSize(getBaseContext(), memoryInfo.availMem);    System.out.println("memory="+memory);    }    public List<Map<String, String>>getMemoryInfo1(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();    Map<String , String>map=new HashMap<String, String>();    am.getMemoryInfo(memoryInfo);    String memory=Formatter.formatFileSize(getBaseContext(), memoryInfo.availMem);    map.put("可用内存", "可用内存:"+memory);    list.add(map);    return list;    }

获取用户安装的程序:

@SuppressWarnings("static-access")public void getUserApplication(){    applicationInfos=pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);    int count=0;    for(int i=0;i<applicationInfos.size();i++){    if((applicationInfos.get(i).flags & applicationInfos.get(i).FLAG_SYSTEM)<=0){    count++;    //Log.i("getUserApplication", applicationInfos.get(i).processName);    }    }    //Log.i("getUserApplication", "共"+count);    }    @SuppressWarnings("static-access")public List<Map<String, String>> getUserApplication1(){    List<Map<String, String>> list=new ArrayList<Map<String,String>>();    applicationInfos=pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);    Map<String, String>map=null;    for(int i=0;i<applicationInfos.size();i++){    if((applicationInfos.get(i).flags & applicationInfos.get(i).FLAG_SYSTEM)<=0){    map=new HashMap<String, String>();    map.put("安装程序", applicationInfos.get(i).packageName);    list.add(map);    }    }    if(map==null){    map=new HashMap<String, String>();    map.put("安装程序", "无");    list.add(map);    }    return list;    }

卸载程序:

public void unInstallApp(String getPackageName){    Uri uri = Uri.fromParts("package", getPackageName, null);        Intent it = new Intent(Intent.ACTION_DELETE, uri);        if(it!=null){        startActivity(it);        }else{        Toast.makeText(this, "Intent 为Null", 3000).show();        }            }

任务列表:

public List<Map<String, String>> getTasks(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();    taskInfos=am.getRunningTasks(30);//30表示获取的最大数    for(int i=0;i<taskInfos.size();i++){    Map<String, String>map=new HashMap<String, String>();    map.put("任务", taskInfos.get(i).baseActivity.getClassName());    list.add(map);    }    return list;    }

服务列表:
public List<Map<String, String>> getRunningServiceInfo(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();StringBuffer serviceInfo=new StringBuffer();serviceInfos=am.getRunningServices(100);@SuppressWarnings("unused")String isRunning="";for(Iterator<RunningServiceInfo>it=serviceInfos.iterator();it.hasNext();){RunningServiceInfo si=(RunningServiceInfo)it.next();if(si.service.getClassName().toString().equals("com.android.controlAddFunctions.PhoneService")){isRunning="正在运行";}else{isRunning="没有运行";}Map<String, String>map=new HashMap<String, String>();map.put("服务类名", "服务类名:"+si.service.getClassName());map.put("所属进程", "所属进程:"+si.process+"PID:("+si.pid+")");list.add(map);serviceInfo.append("pid:").append(si.pid);serviceInfo.append("\nprocess:").append(si.process);serviceInfo.append("\nservice:").append(si.service);serviceInfo.append("\n\n");}Log.i("test", serviceInfo.toString());return list;        }

退出该程序,返回到home界面:

private void returnToHome(){    Intent home=new Intent(Intent.ACTION_MAIN);    home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);    home.addCategory(Intent.CATEGORY_HOME);    startActivity(home);    }

获取当前电量:

public List<Map<String, String>>getCurrBattery(){    List<Map<String, String>>list=new ArrayList<Map<String,String>>();     Map<String, String>map=new HashMap<String, String>();    battery=txt_battery.getText().toString();    map.put("电量", battery);    list.add(map);    return list;    }

最后是下载地址:http://download.csdn.net/detail/aomandeshangxiao/3959256,如果有所帮助的话,帮忙顶一下吧!




原创粉丝点击