第一步:新建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();// 显式结束
}