你好我想创建一个Activity,点击它关闭它,而不是前一个活动。 请告诉我怎么做。 提前谢谢
答案 0 :(得分:0)
尝试将其放入您的活动类:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Add you custom code here
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:0)
您可以通过覆盖'onBackPressed'来接收新闻,例如:
@Override
public void onBackPressed() {
android.os.Process.killProcess(android.os.Process.myPid());
}
然而,这是不好的做法。当用户按下后退按钮时,您不应退出应用程序。如果用户想要关闭应用程序......他会按下主页按钮。 也许你应该读这个.. Is quitting an application frowned upon?
答案 2 :(得分:0)
我强烈建议不要将你的问题解决为“当我按回”时我想要关闭我的应用程序,因为这往往会转向邪恶的Android反模式来杀死进程(如其他答案所示)。
相反,我会更多地关注您不希望应用程序中的先前Activities
保存在应用程序的后台堆栈中。一种简单的方法是,只要您稍后拨打startActivity(...)
,就会立即拨打finish()
,从后台删除旧的Activity
。当您按Back时,“之前的”Activity
现在是首先启动您的应用程序(可能是用户的应用程序启动器),并将显示。
或者,如果您还希望在用户导航到其他应用程序时关闭应用程序(例如使用“近期任务”,打开通知或接听电话),则可以将noHistory
标志添加到您在清单中的活动如下:
<activity
...
android:noHistory="true"
...
</activity>
noHistory
标记可确保当用户离开Activity
时,会自动通过finish()
完成。