2012-07-08 67 views
0

我有一个登录页面,然后是一个主页,然后我在主页上有一个退出按钮。当你按下退出时,我需要关闭应用程序。 如果我在主页的退出onClick()上使用finish(),它会让我回到登录页面。Android查杀应用程序

所以我用

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

现在,这并不像一个出口,但是当你再次启动应用程序,它通过传递登录屏幕,直接进入主页(如应用程序从未被关闭)。 这里最好的解决方案是什么?

+0

你不应该对自己的退出应用程序......这是Android系统的工作。 – 2012-07-08 19:14:59

+0

@AlexLockwood然而,我同意这只是问题的一部分。这里真正的问题是,在主页上调用finish()会返回到登录页面。 VenomVendor正确回答了这个问题的一部分,但有人投票否决了他的回答:-( – 2012-07-08 19:17:15

回答

1

之前来到首页从登录页面使用finish();

Intent i = new Intent(Login.this, Home.class); 
StartActivity(i); 
finish(); 
+0

好吧,现在还有另外一个问题,我有1,2,3,4。 一旦这个人完成填写第1,2页的表格,3,4,我将他重定向到主屏幕 我无法在所有页面上显示完成,如果用户在页面3上并想返回到页面2,则先前在页面2上填写的所有数据应该是 – donsalari 2012-07-08 19:16:03

+0

此答案解决了从主页返回到登录屏幕的问题,它可能无法解决您的任何其他问题 – 2012-07-08 19:18:26

+1

重定向回到主页屏幕从第1,2,3,4页,您可以使用此:'Intent intent = new Intent(this,Home.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);'你也可能需要使用Intent.FLAG_ACTIVITY_SINGLE_TOP。 EXP奠定了选择。 – 2012-07-08 19:23:54

3

什么是最好的解决方案?

最好的解决方案是删除退出按钮及其相关功能。

首先,它不是必需的,因为您提供的退出按钮已经通过设备上的HOME按钮提供。

二,你have been told,重复,by Googlers,没有这样的按钮。

参见:Is quitting an application frowned upon?

+0

我完全同意,但只是阅读我对上述评论的回应。 所以每次填写表格时,我想退出该应用程序,以便其他用户可以使用不同的凭据登录。 – donsalari 2012-07-08 19:21:44

+0

您不需要“退出应用程序”。你只需要完成你所有的活动。就这样。 – 2012-07-08 19:24:37

+0

当然,整个“你应该退出一个应用程序?”在我们讨论可以被多个用户使用的应用程序时,辩论可能需要重新开放。当你考虑认证和安全问题时,整个事情就会崩溃。当然,整个辩论始于Android仅用于智能手机,没人想到整个多用户问题。 – 2012-07-08 19:26:57

相关问题