获得正在运行的程序....
// 正在运行的
public List<Programe> getRunningProcess() {
PackagesInfo pi = new PackagesInfo(this);
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
// 获取正在运行的应用
List<RunningAppProcessInfo> run = am.getRunningAppProcesses();
// 获取包管理器,在这里主要通过包名获取程序的图标和程序名
PackageManager pm = this.getPackageManager();
List<Programe> list = new ArrayList<Programe>();
for (RunningAppProcessInfo ra : run) {
String name=ra.processName;
System.out.println("列表:"+name);
// 这里主要是过滤系统的应用和电话应用,当然你也可以把它注释掉。
if (ra.processName.equals("system")
|| ra.processName.equals("com.Android.phone")) {
continue;
}
Programe pr = new Programe();
pr.setIcon(pi.getInfo(ra.processName).loadIcon(pm));
pr.setName(pi.getInfo(ra.processName).loadLabel(pm).toString());
// System.out.println(pi.getInfo(ra.processName).loadLabel(pm)
// .toString());
list.add(pr);
}
return list;
}
blog:http://www.cnblogs.com/freeliver54/archive/2011/11/04/2236357.html