对于初学者来讲,android应用的退出有时候挺让人头疼,下面简单总结几种常见的退出方法:
大的方向,退出思路无非就是将程序所有activity进行销毁,思路清晰了,就看使什么招了~
1.制造抛异常导致整个程序退出
2.将所有的activity放入到一个list中,然后在需要退出的时候,将所有的activity,finish掉
3.通过广播来完成退出功能
1.制造抛异常导致整个程序退出:
详见http://blog.csdn.net/liuhe688/article/details/6584143
2.将所有的activity放入到一个list中,然后在需要退出的时候,将所有的activity,finish掉:
application里面定义一个集合
activity oncreate的时候将对应的activity加入到集合中,退出的时候遍历之前打开的activity,并将其关闭。
for (Activity activity :leCacheApp.openActivity) {
activity.finish();}
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
3.通过广播来完成退出功能:
在每个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"));