网上退出APP的方法有很多,例如在BaseActivity的声明一个集合,周期中维护activity加入集合或从集合中remove掉,退出时调用这个集合,一个个finish()
。还有就是在BaseActivity的声明周期中维护一个广播,退出时发送这个广播,收到广播执行finish。
但是在Android 16版本以后我们可以通过一个新的方法来退出程序,如下:
调用activity对象的finishiAffinity()方法,可以关闭当前activity所属的activity栈中所有的activity。如果所有activity都保存在默认栈中,则使用该方法会直接退出程序。
如果要回到程序的主界面,则可以在manifest文件中将主界面的activity设置为单独的栈保存。
<activity
Android:name="com.weishi.UserMain"
android:taskAffinity=":finish"//该句用来指定栈
android:label="@string/title_activity_user_main" >
</activity>
本文有引用:http://blog.csdn.net/mr_orange_klj/article/details/43244603