cocos2dx3.x版本如何响应android的回退键和菜单键

网上搜索的,试了一下,都没成功。你们成功过么?求介绍方法

看下这篇http://www.cocoachina.com/bbs/read.php?tid-156660-keyword-%B2%CB%B5%A5%BC%FC.html:7::7::7:
还有这篇http://www.cocoachina.com/bbs/read.php?tid-156744-keyword-%B2%CB%B5%A5%BC%FC.html

嗯。那2个好像是2.x版本得把。网络搜索就搜到那些。不过我解决了

贴上代码:
//初始化退出按钮
auto listen = EventListenerKeyboard::create();
listen->onKeyReleased = (EventKeyboard::KeyCode key, Event* event){
if(key == EventKeyboard::KeyCode::KEY_BACK){
WidgetHelper::exitgame(director->getRunningScene(),listen);
}
else if(key == EventKeyboard::KeyCode::KEY_MENU){
WidgetHelper::messagebox(director->getRunningScene(), u8"这功能暂未提供");
}
};
director->getEventDispatcher()->addEventListenerWithFixedPriority(listen, 1);

void WidgetHelper::exitgame(cocos2d::Node *rootNode, cocos2d::EventListenerKeyboard *listen)
{
auto dialog = CSLoader::createNode(“ExitGame.csb”);

auto bg = LayerColor::create(Color4B(0,0,0,128));
bg->addChild(dialog);
rootNode->addChild(bg);

auto modelLitener = EventListenerTouchOneByOne::create();
modelLitener->onTouchBegan = ](Touch* touch,Event* event){ return true;};
modelLitener->setSwallowTouches(true);
bg->getEventDispatcher()->addEventListenerWithSceneGraphPriority(modelLitener, bg);

auto director = Director::getInstance();
auto btnYes = static_cast<Button*>(dialog->getChildByName("BtnYes"));
auto btnNo = static_cast<Button*>(dialog->getChildByName("BtnNo"));
btnYes->addClickEventListener((Ref*){
    director->getEventDispatcher()->removeEventListener(listen);
    director->end();
});

btnNo->addClickEventListener((Ref*){
    rootNode->removeChild(bg);
});

}

我按菜单键得时候会弹出msgBos,功能正确。但加上这些代码之后,按回退键竟然回到桌面了。没加之前是按了没反应得
不弹出我做得那个选择界面。。。。。。
要想办法断一下点才行。