任务管理器查看正在运行的程序和服务
添加权限
?
<uses-permissionandroid:name="android.permission.GET_TASKS"></uses-permission>?
?
?
private ListView myList;private ActivityManager mActivityManager;private Button button1;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.running_task);myList = (ListView) findViewById(R.id.listView1);button1 = (Button) findViewById(R.id.button1);button1.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {try {/* ActivityManager对象守系统取得ACTIVITY_SERVICE */mActivityManager = (ActivityManager) RunningTask.this.getSystemService(ACTIVITY_SERVICE);ArrayList<String> arylistTask = new ArrayList<String>();int intGetTastCounter = 30;/* 以getRunningTasks方法取并正在运行中的程序TaskInfo */List<ActivityManager.RunningTaskInfo> mRunningTasks = mActivityManager.getRunningTasks(intGetTastCounter);// List<ActivityManager.RunningServiceInfo> mRunningTasks =// mActivityManager.getRunningServices(intGetTastCounter);int i = 1;/* 以循环及baseActivity方式取得名称与ID */for (ActivityManager.RunningTaskInfo amTask : mRunningTasks)// for (ActivityManager.RunningServiceInfo amTask :// mRunningTasks){arylistTask.add("" + (i++) + ": "+ amTask.baseActivity.getClassName() + "(ID="+ amTask.id + ")");// arylistTask.add("" + (i++) + ": "+ amTask.process +// "(ID=" + amTask.pid +")");}ArrayAdapter<String> aryAdapter1 = new ArrayAdapter<String>(RunningTask.this, R.layout.list_item2, arylistTask);if (aryAdapter1.getCount() == 0) {/* 当没有任何运行的操作,则提示信息 */Toast.makeText(RunningTask.this, "当前没有进行的任务",Toast.LENGTH_SHORT);// getResources().getText(R.string.str_err_no_running_service).toString(),} else {/* 发现后台运行程序,以ListView Widget条在出现 */myList.setAdapter(aryAdapter1);}} catch (SecurityException e) {/* 当无GET_TASKS权限时(SecurityException例?)提示信息 */Toast.makeText(RunningTask.this, "无GET_TASKS权限",Toast.LENGTH_SHORT);}}});}?

