cocos2dx 3.0 android交互

请高手指教
cocos2dx3.0进行android交互,即怎样响应android按键

可以在Android 按键监听器里通过Jni调C++的函数

我刚刚学这个,不是很懂,所有麻烦说的具体一点,不胜感激……
我现在是这么做的
现在init()里加上:
auto listener = EventListenerKeyboard::create();
listener->onKeyPressed = CC_CALLBACK_2(Test::onKeyPressed, this);
listener->onKeyReleased = CC_CALLBACK_2(Test::onKeyReleased, this);
this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);
然后:
void Test::onKeyReleased(EventKeyboard::KeyCode keyCode, Event *pEvent)
{

if(keyCode== EventKeyboard::KeyCode::keyBack){

              {
 具体操作;            
              }
 }    

可是一点效果都没有

 在cocos2dx开发中,有时候要设置监听Android的按键,如返回键、菜单键、Home键等。

其实该功能的实现功能很简单,返回键和菜单键的监听如下:
Test.h

class Test : public cocos2d::CCLayer
{
    public:

         virtual bool init();
        

        //增加在Android平台下的返回键监听

       virtual void keyBackClicked();

      //增加在Android平台下的Menu键监听

      virtual void keyMenuClicked();
}

Test.cpp

bool Test::init()
{

      this->setKeypadEnabled(true);
}

void Test::keyBackClicked()
{

   //在这里设置你点击返回键后的事件处理
}

void Test::keyMenuClicked()
{

   //在这里设置你点击Menu键的事件处理
}

Home键的监听如下:

在cocos2dx自带的AppDelegate.cpp文件函数中实现

void   AppDelegate :: applicationDidEnterBackground ()  
{

//按Home键退出游戏时调用
}

void   AppDelegate :: applicationWillEnterForeground ()  
{

//之前按过home键,现在进入游戏时调用
}



```

现在已经实现了返回键和菜单键的监控,用的listener->onKeyReleased = CC_CALLBACK_2(Test::onKeyReleased, this)这个方法,可是现在其他键值还是不发响应,例如导航键的上下左右什么的,请帮忙研究一下,最好的说的详细一点,刚刚学cocos2dx,菜鸟一枚,我用的是cocos2dx3.0beta 版本;

你这个确实是好东西,值得收藏…… :14: :14:

我用这个方法为什么只有菜单键有响应,返回键还是没有响应啊,具体的代码是怎么写的呢?

在init()加:
auto listener = EventListenerKeyboard::create();
listener->onKeyReleased =&](EventKeyboard::KeyCode keyCode, Event* event)
{
//返回键
if(keyCode == EventKeyboard::KeyCode::KEY_BACKSPACE)
{
Director::getInstance()->end();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
}
//响应菜单键
else if (keyCode == EventKeyboard::KeyCode::KEY_MENU)
{

    } 
};
this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);