先自定义一个继承自Application的类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class MyApplication extends Application {
private List<Activity> activitys;
//在Activity的OnCreate方法中调用,添加Activity实例
public void addActivity(Activity act) {
if(activitys==null)
{
activitys = new ArrayList<Activity>();
}
activitys.add(act);
}
//退出程序时调用,调用所有Activity的finish方法
public void finishAll() {
for (Activity act : activitys) {
if (!act.isFinishing()) {
act.finish();
}
}
activitys = null;
}
} |
修改AndroidManifest.xml中Application标签,设置android:name为我们自定义的MyApplication
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <application android:name=".MyApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity2"></activity>
</application> |
在每个Activity的OnCreate方法里把当前的Activity实例添加到Application里的列表中:
1
2
| MyApplication application = (MyApplication) this.getApplication();
application.addActivity(this); |
退出整个程序:
1
2
| MyApplication application = (MyApplication) this.getApplication();
application.finishAll(); |
© 2012, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记