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

          首先说下,这个源代码是从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,如果有所帮助的话,帮忙顶一下吧!




  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值