[Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)

时间:2021-03-12 05:04:54

1: 获取PackageManager 获取全部静态已安装的应用

PackageManager pm = getPackageManager(); 
List<PackageInfo> infos = pm.getInstalledPackages(0); 

icon : info.applicationInfo.loadIcon(pm)
appName : info.applicationInfo.loadLabel(pm)

2:获取ActivityManager获取动态所有正在运行的进程

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> infos = am.getRunningAppProcesses();

info.processName + " ; " + info.uid + " ; " + info.pid
类似如下输出: 

10-20 13:43:16.047: I/System.out(28009): com.qihoo360.mobilesafe:FloatWindow ; 10057 ; 27991
10-20 13:43:16.047: I/System.out(28009): com.qihoo360.mobilesafe:GuardService ; 10057 ; 25390
10-20 13:43:16.047: I/System.out(28009): com.qihoo360.mobilesafe:clear ; 10057 ; 27532