1、方法一
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
//TODO something
return true;
}
return super.onKeyDown(keyCode, event);
}
2、方法二
@Override
public void onBackPressed() {
//TODO something
super.onBackPressed();
}
3. webview 的返回
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) { if (bhWebView != null) { mWebView.goBack(); } return true; } return super.onKeyDown(keyCode, event); }
4. 判断被点击的是不是返回键 , 并判断返回键被点击的状态是单点还是长按
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) { //是返回键
if (event.getRepeatCount() == 0) { //点了一次返回键(按下+弹起算是一次点击)
return true;
} else { //点了多次返回键(按下后没有抬起--也就是长按)
Log.e("abc", "点击了返回键后没有抬起,此时关闭页面");
finish();
return false;
}
}return super.onKeyDown(keyCode, event);
}