我有一个Android应用程序,我从远程服务器检查第一个屏幕中的用户凭据。我超时10秒。超时应用程序将用户发送到错误页面。我有一个退出按钮。
我已经尝试编写退出应用程序的所有逻辑,包括
android.os.Process.killProcess(android.os.Process.myPid());
单击退出按钮。但我无法从应用程序中分离出来。
请帮我找一个退出应用的方法。
答案 0 :(得分:6)
为什么用户想要退出应用只是因为用户输入了错误的凭据/没有正确的凭据?
如果我是你,错误视图/活动/“页面”将为用户带来的任何问题提供建设性的解决方案。用户只是简单地说“错误”然后退出应用程序就没有任何好处。
至于你的问题,谷歌不鼓励实施退出按钮。 Android会在其认为合适的时候“退出”您的应用,并且在发生这种情况时由开发人员来实现正确的行为。
http://developer.android.com/guide/topics/fundamentals/activities.html
答案 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()
堆栈中的所有活动以退出应用程序。