退出Android应用

时间:2011-09-02 11:55:33

标签: android

我有一个Android应用程序,我从远程服务器检查第一个屏幕中的用户凭据。我超时10秒。超时应用程序将用户发送到错误页面。我有一个退出按钮。

我已经尝试编写退出应用程序的所有逻辑,包括

android.os.Process.killProcess(android.os.Process.myPid()); 
单击退出按钮

。但我无法从应用程序中分离出来。

请帮我找一个退出应用的方法。

7 个答案:

答案 0 :(得分:6)

为什么用户想要退出应用只是因为用户输入了错误的凭据/没有正确的凭据?

如果我是你,错误视图/活动/“页面”将为用户带来的任何问题提供建设性的解决方案。用户只是简单地说“错误”然后退出应用程序就没有任何好处。

至于你的问题,谷歌不鼓励实施退出按钮。 Android会在其认为合适的时候“退出”您的应用,并且在发生这种情况时由开发人员来实现正确的行为。

http://developer.android.com/guide/topics/fundamentals/activities.html

Is quitting an application frowned upon?

答案 1 :(得分:2)

不要试图退出应用程序,因为这不是设计应用程序的工作方式。

相反,如果你想锁定用户(可能是为了强制重新认证),就会破坏维护会话的任何信息 - 即,在重新进行身份验证之前拒绝做任何事情。通过这种方式,您可以使用诸如凭证数据或Android确实留在您控制之下的状态变量之类的东西来控制应用程序的行为,而不是Android在某种程度上从开发人员的控制中独立删除的某些事件(进程死亡)。

答案 2 :(得分:2)

致电主要活动结束。与MainActivity.this.finish()

一样

答案 3 :(得分:1)

CLASSNAME.this.finish();

其中CLASSNAME是您的活动活动的类的名称。在CLASSNAME类中使用它。

答案 4 :(得分:1)

完成()当你将用户发送到错误页面并在退出时按下完成()该活动也是活动....

答案 5 :(得分:1)

/ add this line for Removing Force Close 
@Override
    protected void onDestroy() {
// closing Entire Application
        android.os.Process.killProcess(android.os.Process.myPid());
        super.onDestroy();
    }
}

答案 6 :(得分:1)

如果当前活动不是堆栈中唯一的活动,则finish()将不会退出应用程序。您应该递归finish()堆栈中的所有活动以退出应用程序。