Android学习笔记(九)之Android 获取正在运行的Activity

首先是新建一个Android工程,然后修改【main.xml】文件如下:

添加一个ListView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ListView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/tasklist"
    />
</LinearLayout>


 

然后编辑【java代码】

package com.cayden.run;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;

public class MyActivityRunDemo extends Activity {
	
	private ListView tasklist=null;
	private ListAdapter adapter=null;
	private List<String> all=new ArrayList<String>();
	private ActivityManager activityManager=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        tasklist=(ListView)this.findViewById(R.id.tasklist);
        
        activityManager=(ActivityManager)super.getSystemService(Context.ACTIVITY_SERVICE);
        
        listActivity();
    }
    
    public void listActivity(){
    List<RunningTaskInfo> tasks=	activityManager.getRunningTasks(30);
    	Iterator<RunningTaskInfo> itInfo=tasks.iterator();
    	while(itInfo.hasNext()){
    		RunningTaskInfo info=itInfo.next();
    		all.add("【id="+info.id+"】,"+info.baseActivity.getClassName());
    		
    	}
    	adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,this.all);
    	
    	tasklist.setAdapter(adapter);
    }
}


 

最后需要再配置所需要的权限【AndroidManifest.xml】

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.cayden.run"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MyActivityRunDemo"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="8" />

<uses-permission android:name="android.permission.GET_TASKS"></uses-permission>
</manifest> 


程序运行效果如图所示:

Android学习笔记(九)之Android 获取正在运行的Activity_第1张图片

 

更多获取详见ActivityManager的API文档

Android学习笔记(九)之Android 获取正在运行的Activity_第2张图片

你可能感兴趣的:(android,ListView,service,layout,application,encoding)