做程序的时候遇到了这个问题,多个Activity,完全退出程序的时候遇到问题,网上搜了好多方法,有System.exit(0),也有结束进程的,但是各种各样的原因,效果并不好,后来发现了这个方法。
思路:添加一个全局变量作为程序退出的标记(boolean类型),当需要退出程序时置为true,程序中每个Activity的onStart方法中对该变量进行判断,为true就结束自己。
举例:定义一个全局变量
public static boolean isexit;
在mainActivity的onCreate方法中置isexit为false。
在所有需要结束的Activity的onStart方法中加上判断,如果标志位显示为退出,则finish。
@Override
public void onStart(){
if(for_application.isexit)
{
MainActivity.this.finish();
}
super.onStart();
}
在触发退出应用程序的事件中置isexit为true。并finish当前Activity:
if(v.equals(btn_exit)){//退出整个应用程序
for_application.isexit=true;
BActivity.this.finish();
}
这样,当前Activity结束自己的时候,会返回到另一个ACtivity,onStart的时候,判断isexit,如果为true,则finish。
这个办法虽然比较笨,而且稍复杂,但很好理解,效果很好。