android 从一个activity跳转到另一个activity后在跳转回来,为什么就退出不了程序 20

我用的是通过back键退出程序(System.exit(0)),一开始进去第一个activity时可以退出。... 我用的是通过back键退出程序(System.exit(0)),一开始进去第一个activity时可以退出。 展开
 我来答
匿名用户
2014-03-31
展开全部
activity是栈的方式存储的,当你跳到第二个activity时,第一个被push到栈中,第二个activity中的back事件没有处理的话,默认是pop第一个栈,也就是返回第一个activity。这个时候,你再back才是执行第一个activity中的你定义的back事件——退出。
更多追问追答
追问
我在跳转的时候把前一个activity finish了
追答
那第一个被finish了,就只剩第二个activity了,这时back事件会导致该activity被转移到后台,此时界面回到桌面。虽然不是真正的exit,但是也算退出了。
大学作业题库
2015-08-31 · 知道合伙人互联网行家
大学作业题库
知道合伙人互联网行家
采纳数:149 获赞数:180
农民出身,单身一位。书写代码过10万行,没读过书。现任利得财富资深酱油人。

向TA提问 私信TA
展开全部
怎么会。肯定是你代码有问题。仔细在检查一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQMSD8
2015-09-10 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

在Android中,Activity有个栈,一个Activity结束掉,会回到上一个Activity,并不是退出应用程序。

Android中,退出应用程序的方式:

  1. 通过pid

int pid = android.os.Process.myPid(); //获取当前应用程序的PID

android.os.Process.killProcess(pid); //杀死当前进程

这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。


2.通过ActivityManager

ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //获取应用程序管理器 

manager.killBackgroundProcesses(getPackageName()); //强制结束当前应用程序

这种方式退出应用,会结束本应用程序的一切活动,因为本方法会根据应用程序的包名杀死所有进程包括Activity,Service,Notifications等。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tuser2
2014-03-31 · 超过12用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:26.7万
展开全部
你不处理back按键试试
追问
不处理back怎么退出。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式