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);
}
本文介绍了在Android开发中处理返回键的多种方法,包括重写onKeyDown方法、使用onBackPressed方法及针对WebView的返回处理。文章还展示了如何区分单击与长按返回键的不同操作。
787

被折叠的 条评论
为什么被折叠?



