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,如果有所帮助的话,帮忙顶一下吧!
- android任务管理器(12项功能)
- Android Studio 任务管理器功能思路和代码(一)
- android的手机任务管理器,关键功能实现方法总结
- android的手机任务管理器,关键功能实现方法总结
- android的手机任务管理器,关键功能实现方法总结
- android的手机任务管理器,关键功能实现方法总结
- android的手机任务管理器,关键功能实现方法总结
- Android 任务管理器
- android 任务管理器
- Android实现任务管理器
- Android 任务管理器
- Android实现任务管理器
- Android实现任务管理器
- android 任务管理器
- Android实现任务管理器
- Android实现任务管理器
- Android简易任务管理器
- Android实现任务管理器
- 异步通信
- spring 邮件发送 模板2
- Emacs使用gnus收发邮件时nnfolder相关介绍
- shell执行命令的方式
- PHP在页面间传递参数的四种方法
- android任务管理器(12项功能)
- 进myeclipse官网
- 数据结构之【图】部分复习题
- 获取网络数据,获取web服务器xml数据
- 数据结构之【排序】复习题
- ctags和vim
- 今天特上来修改密码
- hdu“菜鸟杯” 4151
- UL做导航