`
czy584521
  • 浏览: 25443 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android中返回键事件

阅读更多

在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);
    }
}

 

2
3
分享到:
评论

相关推荐

    android监听返回按钮事件的方法

    在Android中,我们可以通过重写`onKeyDown()`方法来监听硬件返回键的按下事件。 以下是一个简单的示例,展示了如何监听返回按钮并弹出一个确认退出的对话框: ```java @Override protected void onCreate(Bundle ...

    Android onKeyDown监听返回键无效的解决办法

    总结来说,正确处理Android中返回键的监听需要开发者对Activity生命周期中的事件处理方法有一个清晰的认识,同时了解并正确使用onKeyDown()、dispatchKeyEvent()和onBackPressed()这三个关键的方法。对于特殊情况,...

    Android 拦截返回键事件的实例详解

    Android 拦截返回键事件的实例详解 KeyEvent类 Android.View.KeyEvent类中定义了一系列的常量和方法,用来描述Android中的 按键事件和返回键有关的常量和方法有。 KeyEvent.KEYCODE_BACK: 表示key类型为返回键 ...

    android 后台监听按键事件方法及demo

    android 后台监听按键事件方法及demoandroid 后台监听按键事件方法及demo

    Cocos2d-js实现Android的返回键

    对于Android返回键事件,我们需要关注的是“keydown”事件,特别是当按键代码为"backspace"或"8"时,这通常对应于Android设备的返回键。 在Cocos2d-js中,我们可以使用`cc.eventManager.addListener`来添加事件监听...

    Android开发实现Fragment监听返回键事件功能的方法

    本文实例讲述了Android开发实现Fragment监听返回键事件功能的方法。分享给大家供大家参考,具体如下: 前面的文章Android开发教程之Fragment定义、创建与使用方法详细讲述了Fragment的基本概念与用法。这里再来分析...

    android处理键盘事件之物理按键(屏蔽后退键)

    Android设备通常配备多个物理按键,包括返回键,这对于应用的导航至关重要。然而,在某些场景下,开发者可能希望禁用或自定义这些行为,例如在游戏或全屏模式下。 首先,让我们理解Android系统如何处理物理按键事件...

    cocos2dx android 监听返回键

    在 Android 版本的 cocos2dx 游戏中,实现返回键的监听功能是非常必要的。这主要是因为大多数游戏或者软件都需要在退出程序之前进行确认,以避免用户误点击退出程序。实现返回键监听的方式有两种:一是点击返回键弹...

    Android 点击两次返回键退出程序

    在Android系统中,点击两次返回键退出程序是一种常见的应用安全机制,目的是防止用户意外地退出正在使用的应用。这种设计能够确保用户在误触返回键时,不会立即退出应用,而是需要再次确认。以下是对这个主题的详细...

    Android返回键处理

    Android返回键处理

    Android 屏蔽home,菜单,返回键 解锁,加锁

    在Android系统中,Home键、菜单键(在某些设备上是多任务键)和返回键是用户界面的重要组成部分,它们提供了导航和操作的基本方式。然而,在特定的应用场景下,如开发特殊应用或游戏时,开发者可能需要屏蔽这些系统...

    Android中实现再按一次返回键退出应用程序

    总结来说,"Android中实现再按一次返回键退出应用程序"的核心是通过重写Activity的onKeyDown()方法,监听返回键事件,并结合时间判断来决定是否真的退出应用。这种设计体现了Android应用开发中的用户体验和交互设计...

    Android软键盘返回键监听.zip

    总之,监听Android软键盘的返回键事件是一项实用的功能,能够帮助开发者更好地控制用户在应用中的交互流程。无论是通过InputMethodManager,还是通过观察ViewTreeObserver,或者是自定义键盘事件,都有其适用的场景...

    Android仿微信客户端+监听fragment返回键

    为了监听返回键,我们可以在每个Fragment中重写`onBackPressed()`方法,或者使用`onOptionsItemSelected()`来处理ActionBar或系统工具栏上的返回按钮点击事件。同时,如果Fragment嵌套在`BackStack`中,我们还可以...

    安卓Android源码——返回键退出程序的两种方式.zip

    在安卓(Android)系统中,开发应用程序时,处理返回键以退出程序是常见的需求。本文将深入探讨两种主要的方法,帮助开发者理解并实现这一功能。 首先,我们要知道,Android应用程序通常由多个活动(Activity)组成...

    该组件用于ReactNative中获取Android原生层面的键盘响应事件

    通常,这些事件包括方向键、确定键、返回键等。这个特定组件就是为了解决这个问题,它扩展了React Native的能力,使得开发者可以直接在JavaScript层面上监听和响应这些原生键盘事件,而无需深入到Java或Kotlin代码中...

    Android应用源码之返回键退出程序的两种方式.zip

    - 对于多Activity的应用,可能需要在多个Activity中处理返回键事件,以确保所有Activity都能正确退出。 以上就是Android应用中实现返回键退出程序的两种常见方法。在实际开发中,开发者应根据项目需求和用户体验来...

Global site tag (gtag.js) - Google Analytics