Android中获取正在运行的应用程序
ActivityMain.java
1.public class ActivityMain extends ListActivity {
2. @Override
3. public void onCreate(Bundle savedInstanceState) {
4. super.onCreate(savedInstanceState);
5. requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 6.
7. List list = getRunningProcess();
8. ListAdapter adapter = new ListAdapter(list,this);
9. getListView().setAdapter(adapter);
10. }
11.
12. //正在运行的
13. public List getRunningProcess(){
14. PackagesInfo pi = new PackagesInfo(this);
15.
16. ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
17. //获取正在运行的应用
18. List run = am.getRunningAppProcesses();
19. //获取包管理器,在这里主要通过包名获取程序的图标和程序名
20. PackageManager pm =this.getPackageManager();
21. List list = new ArrayList();
22.
23. for(RunningAppProcessInfo ra : run){
24. //这里主要是过滤系统的应用和电话应用,当然你也可以把它注释掉。
25. if(ra.processName.equals("system") ra.processName.equals("com.Android.phone")){
26. continue;
27. }
28.
29. Programe pr = new Programe();
30. pr.setIcon(pi.getInfo(ra.processName).loadIcon(pm));
31. pr.setName(pi.getInfo(ra.processName).loadLabel(pm).toString());
32. System.out.println(pi.getInfo(ra.processName).loadLabel(pm).toString());
33. list.add(pr);
34. }
35. return list;
36. }
37.
38.}
ListAdapter.java ||