找了很多资料,要么是android.os.Process.killProcess(android.os.Process.myPid()) ,要么是System.exit( 0 ), 可是依然无法退出全部的Activity。郁闷中找到了这个文章http://www.cnblogs.com/jauntlin/archive/2011/05/28/2060712.html,瞬间明了。
该方法是通过广播来实现所有Activity的关闭,先写一个父类继承Activity,其中有两个方法:
public class SuperActivity extends Activity {
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context arg0, Intent arg1) {
finish();
}
};
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("ExitApp");
this.registerReceiver(broadcastReceiver, filter);
}
}
然后在需要退出的Activity中调用:
// 发送广播通知所有窗体关闭
public void close() {
Intent intent = new Intent();
intent.setAction("ExitApp");
this.sendBroadcast(intent);
super.finish();
}
即可关闭所有的Activity了!
另外,可以在该Activity中的onDestroy方法里调用,System.exit(0),彻底的结束进程:
@Override
protected void onDestroy() {
super.onDestroy();
System.exit(0);
}