我也觉得新建一个类,每启动一个Activity就放入list,每关闭一个Activity就list里面删掉的做法太笨。
看到一个不错的方法,偷来之~(注:该文章为(男人应似海)原创)
通过广播使Android程序完全退出:
在每个Activity创建时(onCreate时)给Activity注册一个广播接收器,当退出时发送该广播即可。大概的代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter filter = new IntentFilter();
filter.addAction("finish");
registerReceiver(mFinishReceiver, filter);
……
}
private BroadcastReceiver mFinishReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if("finish".equals(intent.getAction())) {
Log.e("#########", "I am " + getLocalClassName()
+ ",now finishing myself...");
finish();
}
}
};
在退出时执行以下代码即可关闭所有界面完全退出程序:
getApplicationContext().sendBroadcast(new Intent("finish"));
相信聪明的大家会把上面的代码写在一个基类里面,因为如果你的项目中Activity很多的话,写起来很麻烦,而且也不符合代码规范。(这句话很给力的有木有)