每次用户按下“后退”按钮时,我的应用程序都会返回前台。我相信这可能是因为有一个声音播放模块重新启动活动,尽管这只是我的假设。不过,每当我按下主页(中间)按钮,应用程序就会被发送到后台,一切都会相应地工作。我想通过捕获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,有人能指出我需要修改什么吗?