Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓平板电脑没有';t点火键盘事件。按键按下_Android_Actionscript 3_Apache Flex_Mobile_Air - Fatal编程技术网

Android 安卓平板电脑没有';t点火键盘事件。按键按下

Android 安卓平板电脑没有';t点火键盘事件。按键按下,android,actionscript-3,apache-flex,mobile,air,Android,Actionscript 3,Apache Flex,Mobile,Air,我正在尝试验证Android home screen按钮的默认功能,但当按下我拥有的平板电脑上的home键时,KeyboardEvent.KEY_UP事件不会触发。(eee transformer prime)是否还有其他原因需要检测和停止此功能 下面是我正在尝试使用的代码 import mx.events.FlexEvent; // Add the hardware key event handlers to the stage. protected func

我正在尝试验证Android home screen按钮的默认功能,但当按下我拥有的平板电脑上的home键时,KeyboardEvent.KEY_UP事件不会触发。(eee transformer prime)是否还有其他原因需要检测和停止此功能
下面是我正在尝试使用的代码

import mx.events.FlexEvent;

        // Add the hardware key event handlers to the stage.
        protected function appCompleteHandler(event:FlexEvent):void {
            stage.addEventListener(KeyboardEvent.KEY_DOWN, handleButtons,false, 1);
            stage.addEventListener(KeyboardEvent.KEY_UP, handleButtons,false, 1);
        }

        // Event handler to handle hardware keyboard keys.
        protected function handleButtons(event:KeyboardEvent):void
        {
            trace("Event fired");
            if (event.keyCode == Keyboard.HOME) {
                event.preventDefault();
                trace("home");
            } else if (event.keyCode == Keyboard.BACK) {
                // Hanlde back button.
                event.preventDefault();
                trace("back");
            }

        }
试试这个:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_HOME)) {
        doSomethingHere();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

“主页”按钮是一个特殊的按钮,不允许您拦截。您的代码是正确的,但是一旦发生按键事件,您的应用程序将暂停并停止,没有机会对按键做出反应

然而,有一种间接的方式。虽然不能停止HOME键的工作,但可以进行自己的HOME活动。第一次运行时,系统会询问您希望将哪个活动用作主页。从那里你所要做的就是添加一个按钮,一旦你输入密码,启动真正的家庭活动


有关更多详细信息,请查看此问题的答案:

它甚至没有输出“事件已触发”?没有,它甚至没有显示任何内容已命中。它只是退出应用程序。无跟踪(“触发事件”);很明显,这两个事件都不会被触发,这告诉我,无论是主题按钮不被视为键盘上的键,还是应用程序(AIR)一旦按下就会失去焦点。你见过这个吗?我觉得你根本无法阻止它。是否有可能使用下面提供的代码使java扩展超越home按钮?我不是java程序员,所以如果你知道的话,我只是在闲逛。编辑文章的主页软键部分。这不是Java吗?我正在用AdobeAIR用ActionScript构建应用程序,但感谢您的重播。是的,对不起。直到我再看一眼之后,我才意识到这可能不是针对本机android的。不用担心,你知道关于偶然纠正java extension air的任何事情,因为这类问题正在转变为什么吗?有趣的是,因为您的答案是针对Java的,所以它让我知道了如何解决遇到的问题,但我仍然不确定这是否可能。因此,没有办法说退出应用程序需要密码?例如,我想在用户能够退出应用程序之前请求一个密码。我想做的是制作一个kiosk风格的应用程序,退出该应用程序的唯一两种方法是使用密码或关闭表并重新启动它。@Justin谢谢你澄清了你想要做的事情。我已经编辑了我的答案。你不能截取home按钮,但你可以制作一个类似kiosk的应用程序。这是java的,所以我必须在flex中把它构建成一个本机扩展才能正常工作?顺便说一句,谢谢你的帮助。很抱歉我不能帮你,我对adobe flex一无所知。祝你好运!