使用Application维护管理Activity列表

使用Application维护管理Activity列表(用于退出整


个程序,结束所有Activity)

先自定义一个继承自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, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值