android 使程序完全退出及退回到主界面

一、使程序完全退出

1、使用ActivityManager:

ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);       
am.restartPackage(getPackageName()); //虽为 restart,但并不是重启 
系统会将该包下的所有活动、服务全部杀掉,要注意加上权限
<uses-permission android:name="android.permission.RESTART_PACKAGES"/> 

2、终止进程:(不推荐)

finish(); 
android.os.Process.killProcess(android.os.Process.myPid()); 
注:进程被终止时,查看一下 Log输出,ActivityManager 会抛出错误,但对用户来说,并无异常 

二、当前面有多个界面时,清除前面所有界面返回到主界面

比如MainActivity.java为程序的主界面
在manifest中设置MainActivity的启动模式为singleTask,在activity节点下加上如下:
android:launchMode="singleTask"
注意singleTask模式的Activity不管是位于栈顶还是栈底,再次运行这个Activity时,都会destory掉它上面的Activity来保证整个栈中只有一个自己,切记切记”这点是毋庸置疑的。
比如你现在在 EActivity 与MainActivity之间有Activity B、C和D,当你需要回到MainAcitivity,并且需要销毁中间的界面时候就可以调用
startActivity(new Intent(EActivity.this,MainAcitivity.class));



你可能感兴趣的:(android,程序完全退出,退回主界面)