我想在用户触摸Android设备的主页按钮时销毁我的应用程序,并在用户触摸Android的“后退”按钮时启动MainActivity。 有人知道怎么做吗?
答案 0 :(得分:2)
关于返回
的关闭应用@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK :
finish();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
并且您无法获得主页按钮的点击事件,因此您想要使用onStop方法进行编码。
@Override
protected void onStop() {
finish();
super.onStop();
}
答案 1 :(得分:1)
答案 2 :(得分:1)
您可以通过调用finish()和finishActivity()方法来完成此操作。查看API指南Shutting down an Activity的详细信息。从哪里调用这些方法取决于你的应用程序是如何实现的,但我想你可以通过监听KeyEvent并过滤Home键事件来从当前的焦点活动中做到这一点。
但是你需要考虑一旦你杀了你的活动,按下后退按钮将不会让你回到你的应用程序活动,因为杀死活动会将它们从内存堆栈中删除。
另请查看Activity life cycle diagram以及Android开发者网站上提供的详细说明。
答案 3 :(得分:0)
您可以通过致电Activity
来关闭finish()
,但是您必须为每个已打开的Activity
执行此操作。要在按下HOME按钮时发生这种情况,您必须注册KeyEvent
。我不太清楚如何做到这一点,但你可以找到documentation here。
答案 4 :(得分:0)
在finish()
方法中致电onStop()
。或者在清单中使用android:noHistory="true"
。