2012-07-11 84 views
0

我正在开发一个有许多活动的Android应用程序。我有一个注销活动来检查注销,用户必须输入用户名&的密码才能注销。如果这是正确的,我的应用程序将关闭并返回到Android Homeboard。如何关闭子活动上的应用程序?

但在注销活动中,我无法关闭我的应用程序。我用Finish(),但它只关闭那个活动。我能做些什么来解决这个问题?

+0

你知道你不能阻止用户自行返回到主屏幕,然后卸载你烦人的应用程序。 – 2012-07-11 04:04:47

+0

考虑startActivityForResult()它是你的问题的答案。 – 2012-07-11 04:12:19

+0

请注意,仅有Android会决定哪些程序开始和结束。它超出了你的控制范围。 – 2012-07-11 04:12:47

回答

0

由于没有'退出应用程序'方法,另一种方法是调用moveTaskToBack(true)来“隐藏”当前应用程序。

参考:moveTaskToback()

+0

谢谢@Frank。我已经使用过了,这很有帮助。再次感谢:D – 2012-07-11 03:17:06

+0

也许有帮助,但这可能会产生意想不到的行为。让用户决定何时关闭您的应用程序。隐藏和寻求不是这样。 – 2012-07-11 21:36:42

+0

该应用程序仍然可以向用户提供注销按钮,并在点击时关闭连接等。 moveTaskToback()只是通过给用户一个可视指示符来补充它,他们已经成功“注销”了,不需要“隐藏和查找”。 – 2012-07-24 23:10:56

0

可以通过添加代码

Intent startMain = new Intent(Intent.ACTION_MAIN); 
startMain.addCategory(Intent.CATEGORY_HOME); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 

相结合,与标志的Android返回主屏幕:clearTaskOnLaunch =在您的Android清单文件“真”(当你宣布你的“主”的活动,应该做的关于这方面的更多文档可以在这里找到:http://developer.android.com/guide/topics/manifest/activity-element.html

基本上,据我所知,如果你在通过主屏幕访问的活动中将此标志设置为“true”,效果将是每当用户启动应用程序,它应该打开该活动(不管应用程序的状态,当你ser离开了它)。

让我知道我是否可以变得更有用。

+0

我不清楚如何去做。它可以完成我的申请吗? – 2012-07-11 03:15:56

+0

查看我的编辑到我的答案,是你的问题吗? – tnacho 2012-07-11 04:12:54

0

有限制,但是当你开始一个活动,你有)有了这个叫做startActivityForResult(一个有趣的选项,你传递一个请求码,可以知道什么时候该活动已经结束,什么结果。问题解决了!

+0

但我的应用程序中的任何活动都可以调用注销活动,而活动调用注销可以由其他活动调用。如果您通过startActivityForResult()开始注销,那么只有完成活动呼叫注销。 :D和应用程序无法关闭:D。问题没有解决。 :) – 2012-07-11 06:29:56

+0

哦关闭应用程序?让机器人决定!它不是你想要什么用户想要的重要。 – 2012-07-11 21:35:45

+0

但如果用户想关闭应用程序,他们会去注销屏幕并输入用户名并通过关闭应用程序。如果他们不想要,他们不会去注销屏幕 – 2012-07-13 03:03:19