您的位置:首页 > 移动开发 > Android开发

Android中如何关闭所有的Activity

2015-12-27 17:58 761 查看
首先,创建一个类CloseActivitysUtil.java:

/**
* 关闭所有Activity
* @author weizhi
* @version 1.0
*/
public class CloseActivitysUtil {

private static LinkedList<Activity> acys = new LinkedList<Activity>();

//添加activity
public static void add(Activity acy){
acys.add(acy);
}

//关闭所有的activity
public static void close(){
Activity acy;
while (acys.size() != 0){

//poll()方法检索并移除此列表的头元素(第一个元素)
acy = acys.poll();
if (!acy.isFinishing()){
acy.finish();
}
}
}
}


然后在每个需要关闭的Activity中添加:

CloseActivitysUtil.add(this);


如在MainActivity.java中添加:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

CloseActivitysUtil.add(this);
... ...
}
... ...
}


最后在需要关闭的地方调用:

CloseActivitysUtil.close();


如在点击返回键的时候关闭所有Activity:

/**
* 返回键点击事件
* @param keyCode
* @param event
* @return
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

//点击返回键关闭所有Activity,退出软件
if(keyCode == KeyEvent.KEYCODE_BACK ){
CloseActivitysUtil.close();
}

return super.onKeyDown(keyCode, event);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: