要獲取正在運行的任務,首先需要聲明一個活動對象管理器(ActivityManager) 所有的活動任務都屬於此,然後通過獲取服務可以得到所有的活動對象,然後通過活動對象可以得到所有運行的任務和服務,當然要獲取服務和任務是使用不同的方法,但是方式是一樣的。下面是獲取代碼:
代碼
復制代碼 代碼如下:
void getTask() {
ActivityManager activityManager;
try {
activityManager = (ActivityManager) this
.getSystemService(ACTIVITY_SERVICE);
arylistTask = new ArrayList<String>();
List<ActivityManager.RunningTaskInfo> mRunningTasks =
activityManager.getRunningTasks(30); //30表示獲取的最大數
/* 以循環及baseActivity方式取得任務名稱與ID */
for (RunningTaskInfo amTask : mRunningTasks)
{
Log.d("TaskInfo", amTask.baseActivity.getClassName()+"("+amTask.id+")");
}
//獲取服務
List<RunningServiceInfo> mserviceTasks =
activityManager.getRunningServices(30);
/* 以循環方式取得任務名稱與ID */
for (RunningServiceInfo serinfo : mserviceTasks)
{
Log.d("TaskServerInfo", serinfo.process+"("+serinfo.pid+")");
}
}
catch (Exception e)
{
}