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

来源:互联网 发布:花生壳域名管理 编辑:程序博客网 时间:2024/06/05 06:59

首先是新建一个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> 


程序运行效果如图所示:

 

更多获取详见ActivityManager的API文档

原创粉丝点击