在android中重写父类的onkeydown方法,就可以更方便的操作了。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){
//需要处理
}
return false;
}
长按事件
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_CALL) {
// a long press of the call key.
// do our work, returning true to consume it. by
// returning true, the framework knows an action has
// been performed on the long press, so will set the
// canceled flag for the following up event.
return true;
}
return super.onKeyLongPress(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_CALL && event.isTracking()
&& !event.isCanceled()) {
// if the call key is being released, AND we are tracking
// it from an initial key down, AND it is not canceled,
// then handle it.
return true;
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_0) {
// this tells the framework to start tracking for
// a long press and eventual key up. it will only
// do so if this is the first down (not a repeat).
event.startTracking();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
// Tell the framework to start tracking this event.
getKeyDispatcherState().startTracking(event, this);
return true;
} else if (event.getAction() == KeyEvent.ACTION_UP) {
getKeyDispatcherState().handleUpEvent(event);
if (event.isTracking() && !event.isCanceled()) {
// DO BACK ACTION HERE
return true;
}
}
return super.dispatchKeyEvent(event);
} else {
return super.dispatchKeyEvent(event);
}
}
分享到:
相关推荐
android 后台监听按键事件方法及demoandroid 后台监听按键事件方法及demo
Android 拦截返回键事件的实例详解 KeyEvent类 Android.View.KeyEvent类中定义了一系列的常量和方法,用来描述Android中的 按键事件和返回键有关的常量和方法有。 KeyEvent.KEYCODE_BACK: 表示key类型为返回键 ...
主要介绍了android监听返回按钮事件的方法,涉及Android事件监听的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
主要介绍了 Android onKeyDown监听返回键无效的解决办法的相关资料,需要的朋友可以参考下
Android返回键处理
Android 屏蔽home,菜单,返回键 解锁,加锁
Cocos2d-js中实现Android返回键,自行拷贝frameworks文件。 Cocos2d-x-3.10
Android 点击两次返回键退出程序
本文实例讲述了Android开发实现Fragment监听返回键事件功能的方法。分享给大家供大家参考,具体如下: 前面的文章Android开发教程之Fragment定义、创建与使用方法详细讲述了Fragment的基本概念与用法。这里再来分析...
本例子讲述了,android开发中常用的键盘事件的处理示例。另外,加有文档的说明
安卓Android源码——返回键退出程序的两种方式.zip
一般的游戏或者软件,都会在android版本上做退出程序的功能,一般的实现方式有两种: 1.点击返回按键,弹出确认是否退出; 2.点击返回,toast提示再次点击退出程序。
本文给大家介绍android实现返回键功能,返回键的操作方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
安卓Android源码——返回键退出程序的两种方式.rar
1、仿微信客户端UI 2、监听fragment返回键 3、双击退出
Android中对手机的返回键,Home键以及多功能切换键的监听,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/77045754
android中实现按两次返回键退出Activity,不再是返回一次就退出应用,第一次点击提示“再按一次退出应用”
Android应用源码之返回键退出程序的两种方式.zip