天天看点

Android 退出程序 关闭所有Activity 的方法

网上退出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

继续阅读