企业级Android Application Activity管理

第一步:新建App.java继承Application
package com.sk.activity;

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

import android.app.Activity;
import android.app.Application;

public class App extends Application {

	public List<Activity> activities=new ArrayList<Activity>();
	
}
第二步:AndroidManifest.xml(注意:application下android:name=".App"属性的配置,引入第一步的App.java)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sk.activity"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <!-- 适配大小 -->
    <supports-screens android:anyDensity="true" />

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

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:name=".App" >
        <activity
            android:label="@string/app_name"
            android:name=".LoginActivity"
            android:theme="@android:style/Theme.NoTitleBar" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:label="@string/app_name"
            android:name=".RegisterActivity"
            android:theme="@android:style/Theme.NoTitleBar" >
        </activity>
    </application>

</manifest>
第三步:每个Activity中的做法如下:
首先:onCreate()方法里边:
    App app = (App) getApplicationContext();// 获取应用程序全局的实例引用
    app.activities.add(this); // 把当前Activity放入集合中
  
然后:onDestroy()方法里边做法:
     @Override
     protected void onDestroy() {
	super.onDestroy();
	App app = (App) getApplication();// 获取应用程序全局的实例引用
	app.activities.remove(this); // 把当前Activity从集合中移除
     }

最后:在程序中需要结束时的做法:
    List<Activity> activities = app.activities;
    for (Activity act : activities) {
	act.finish();// 显式结束
    }

你可能感兴趣的:(android,管理,application,Activity,finish())