获取进程列表,需使用ActivityManager中的方法获取进程名;再根据进程名,获取应用程序的ApplicationInfo对象;用ApplicationInfo中的方法为进程加载图标和程序名称。获取服务、任务列表方法同上。
1 实例化ActivityManager
private ActivityManager mActivityManager;
mActivityManager=(ActivityManager)getSystemService(ACTIVITY_SERVICE);
2 获取各列表/获取任务列表
public void getTasks()
{
aryListTaskID=new ArrayList();
aryListTaskName=new ArrayList();
//以getRunningTasks()取得进程TaskInfo
List
3 PackageUtil.java : 通过一个程序名返回该程序的一个ApplicationInfo对象
package com.me.myexplorer;
import java.util.List;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
public class PackageUtil
{
// ApplicationInfo 类,保存了普通应用程序的信息,主要是指Manifest.xml中application标签中的信息
private List allAppList;
public PackageUtil(Context context) {
// 通过包管理器,检索所有的应用程序(包括卸载)与数据目录
PackageManager pm = context.getApplicationContext().getPackageManager();
allAppList = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
pm.getInstalledPackages(0);
}
public ApplicationInfo getApplicationInfo(String appName) {
if (appName == null) {
return null;
}
for (ApplicationInfo appinfo : allAppList) {
if (appName.equals(appinfo.processName)) {
return appinfo;
}
}
return null;
}
}
“`