首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android -查看是否按下了home键

Android -查看是否按下了home键
EN

Stack Overflow用户
提问于 2013-03-13 08:10:04
回答 2查看 2K关注 0票数 0

我正在制作一个游戏,如果用户以任何方式离开了该活动(back或home键按下),该活动需要通过发布到脚本并结束该活动来结束游戏。

我可以检测是否按下了back键,但是,我找不到任何有效的方法来检测是否按下了home键。我不能在Activity_Pause方法中结束游戏,因为假设用户在游戏中途接到一个电话。

我知道你不能捕获事件,但是,是否有人找到了一种方法来查看活动是否是用户留下的,而不是像电话这样的东西将其发送到后台。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-13 09:27:58

好的,如果你坚持,这就是你要做的工作。Android的下一个版本可能会填补这个漏洞。

代码语言:javascript
运行
复制
boolean mKeyPress;  
boolean mUserLeaveHint;

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

@Override
protected void onUserLeaveHint()
{
    super.onUserLeaveHint();
    mUserLeaveHint = true;
}

@Override
protected void onPause()
{
    super.onPause();
    if (!mKeyPress && mUserLeaveHint)
    {
        // HOME_KEY is pressed
    }
}
票数 1
EN

Stack Overflow用户

发布于 2013-03-13 08:13:42

看起来像是这个的复制品

Android, How to receive home button click through broadcast receiver?

代码语言:javascript
运行
复制
@Override
public boolean dispatchKeyEvent(KeyEvent keyevent) {

    if (keyevent.getKeyCode() == KeyEvent.KEYCODE_HOME) {
        //Do here what you want
        return true;
    }
    else
        return super.dispatchKeyEvent(event);
}
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15374673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档