代码之家  ›  专栏  ›  技术社区  ›  Alan

如何捕获主按钮按下?我需要模拟它的功能

  •  0
  • Alan  · 技术社区  · 6 年前

    每次用户按下“后退”按钮时,我的应用程序都会返回前台。我相信这可能是因为有一个声音播放模块重新启动活动,尽管这只是我的假设。不过,每当我按下主页(中间)按钮,应用程序就会被发送到后台,一切都会相应地工作。我想通过捕获back press事件来模拟此功能,并以类似于home按钮的方式处理它。在导航源代码时,我在

    android/reactnativenavigation/layouts/SingleScreenLayout.java

        @Override
    public boolean onBackPressed() {
        if (handleBackInJs()) {
            return true;
        }
    
        if (stack.canPop()) {
            stack.pop(true, System.currentTimeMillis());
            EventBus.instance.post(new ScreenChangedEvent(stack.peek().getScreenParams()));
            return true;
        } else {
            return false;
        }
    }
    

    我可以一眼就明白正在做什么,但是我对Java不太熟悉,不想引入任何涉及应用程序本机端的bug,有人能指出我需要修改什么吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   angelos_lex    6 年前

    所以,你需要捕捉“硬件后退按钮”按不是主按钮对吧? 检查 here 用当地人的反应方式