如何关闭我的Android应用程序,当我点击从我的手机后退按钮?
你必须处理后退按钮的功能
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
finish();
}
@Override
public void onBackPressed() {
this.finish();
}
试试这个
说,如果你是在一些内心活动设置应用程序类的一些布尔和所有其他活动的简历检查该布尔然后完成它,如果布尔设置
使用'this.'在这里没有真正的好处 – 2013-04-05 09:21:16
当你按下后退按钮时,活动从栈中弹出并销毁。堆栈中的前一个活动需要关注。
假设您有3项活动。 A,B和C.您导航到C. A到B到C.从C可以使用下面的代码导航到A.
您可以覆盖按下后退按钮并致电finish()
。
如果您处于活动A中,您只需按返回按钮即可退出。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Intent myIntent = new Intent(C.this, A.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//clear the backstack
startActivity(myIntent);
finish();
return;
}
编辑:
一些开发商和一些人对计算器认为后退按钮应该ATLEAST回到以前的活动。它是这样的。因此,重写默认功能并清除堆栈可能不是一个好主意。
您可能还需要考虑使用抽屉式导航
http://developer.android.com/design/patterns/navigation.html
还要检查这个
试试这个。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
finish();
}
return false;
}
@prabu看到我编辑的答案。 – Yugesh 2013-04-05 11:14:27
您不需要调用任何方法来关闭应用程序; Android会照顾它。无论何时按下后退按钮,finish()
都会在Activity
上被调用,并且活动将被销毁。你没有问关于Service
的权利?由于服务在后台运行,因此必须根据需要来关闭服务。
Pleeeease通过CommonsWare读这样的回答:Is quitting an application frowned upon?
这是为什么这是不 Android应用程式设计的一个很好的办法很好击穿。结论:
同样,我会劝你对试图端口您 应用到Web上,因为有些人有同样的问题 报道与Android,你会在网络找到的应用程式以及(例如,没有 “终止”)。或者相反,如果您将应用移植到 网络,您可能会发现Web应用的流程可能与Android的 更匹配,您可以在此时重新访问Android端口。
覆盖onBackPressed,然后完成当前的活动。 – Pragnani 2013-04-05 09:09:04
@Pragnani你能给我一个样品吗? – prabu 2013-04-05 09:10:30
我认为Android默认情况下是这样吗? – JRowan 2013-04-05 09:12:17