2 yongyong 21 yongyong_21 于 2012.09.21 14:31 提问

在Android中,如何实现单击主键结束Activity

我想实现单击页面主键后,结束Activity。以下代码不能实现这个点击事件。请求大家帮助我查看问题出现在哪里?

public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (event.getAction() == KeyEvent.ACTION_DOWN) {
            switch (keyCode) {
            case KeyEvent.KEYCODE_HOME:
                System.out.println("Home clicked....");
            return true;

            }
        }
        return super.onKeyDown(keyCode, event);
    }

3个回答

franzhong
franzhong   2012.09.21 16:41
已采纳
if (code == KeyEvent.KEYCODE_HOME) {  
this.finish();
}
yongyong_21
yongyong_21 @franzhong 谢谢你的答案,给我启示用finish()方法实现,应写成if (KeyCode == KeyEvent.KEYCODE_HOME)
5 年多之前 回复
myc_100
myc_100   2012.09.24 13:27
public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_BACK) {
              Intent intent = new Intent(Intent.ACTION_MAIN);
              intent.addCategory(Intent.CATEGORY_HOME);
              intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              startActivity(intent);  
              moveTaskToBack(false);
                return true;
           }
           return super.onKeyDown(keyCode, event);
}
curie_87
curie_87   2012.09.24 13:38

当点击Home键后,activity中的onStop方法被调用。所以应该添加finish()方法。onStop方法会破坏activity。最终onDestroy方法会确认activity结束。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!