第一步:新建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();// 显式结束 }
文章转自网络,学习来用,很有帮助。