获取正在运行的所有服务,然后进行判断,如果是自己的service,一般都是提前设置一个标识,直接判断标识位即可;
获取正在运行的所有服务:
PackageManager pm = contex.getPackageManager();
ActivityManager am = (ActivityManager) contex.getSystemService(ACTIVITY_SERVICE);
// 得到系统安装的所有程序包的PackageInfo对象
List
List
// 获取正在运行的服务
for (PackageInfo p : packs) {
HashMap
for (ActivityManager.RunningServiceInfo ra : listSer) {
if (ra.process.equals(p.applicationInfo.packageName)) {
// 获得该进程的内存
int[] myMempid = new int[] { ra.pid };
Debug.MemoryInfo[] memoryInfo = am
.getProcessMemoryInfo(myMempid);
int memSize = memoryInfo[0].dalvikPrivateDirty;
map2.put("size", "内存为:" + memSize + "kb");
map2.put("icon", p.applicationInfo.loadIcon(pm));// 图标
map2.put("appName", p.applicationInfo.loadLabel(pm));// 应用程序名称
map2.put("packageName", "所在包名:"
+ p.applicationInfo.packageName);// 应用程序包名
System.out.println("pi.applicationInfo.packageName===="+p.applicationInfo.packageName);
items.add(map2);
}
}
}
希望对你能有所帮助。