Android操作系统并没有提供任务管理程序,无从得知后台有哪些程序正在运行,但提供了正在运行的服务列表。这次我们来用MonoDroid来获取手机中正在运行的程序及服务,用ListView列出来,点击ListView的项可以实现关闭程序或服务。
这里我没有实现实时获取,而是通过点击两个按钮时才进行获取,布局文件如下:
要获取正在运行的程序,需使用ActivityManager类的GetRunningTasks方法,它的参数指定需要取出的任务数,由于资源有限,所以我们这里设置了最多取出30条任务:
注意要获取任务,必需要在AndroidManifest.xml中添加GET_Tasks权限,而要关闭程序,我们这里使用的是ActivityManager类的RestartPackage方法,根据程序的包名称来关闭,所以要添加RESTART_PACKAGES权限:
效果图:

下面我们来实现获取运行中服务的效果。获取服务与获取程序差不多,只要把GetRunningTasks改为GetRunningServices即可,同样我们还是取出30条。由于是在同一个ListView中显示,在单击列表项时需要区分单击的是程序还是服务,所以我们增加一个字段contentShown加以区分,contentShown=1时表示程序,contentShown=2时表示服务,完整的代码如下:

本文介绍如何使用MonoDroid在Android上获取并显示正在运行的应用程序和服务列表,并提供了通过按钮触发更新的功能,以及关闭选定应用或服务的方法。
—— 自制任务管理器,获取正在运行的程序与服务&spm=1001.2101.3001.5002&articleId=6395255&d=1&t=3&u=e34ed0ba00eb4e57a7bad83e4e4d19eb)
591

被折叠的 条评论
为什么被折叠?



