anySdk按返回键退出的问题(android)

现在打包发现一个退出的问题不知道怎么解决。
我们推出的代码是这样写的(lua)

if ( self.user_plugin:isFunctionSupported(“exit”) ) then
self.user_plugin:callFuncWithParam(“exit”);
print(“执行self.user_plugin:callFuncWithParam(“exit”)”)
else
print(“不支持self.user_plugin:callFuncWithParam(“exit”)”)
end

现在的问题是,母包是会执行exit的方法, 也就是self.user_plugin:isFunctionSupported(“exit”)返回的是true,但是打上平台之后, self.user_plugin:isFunctionSupported(“exit”)这个返回的就是false了,在手机上按返回键,只有平台弹出的窗口会关闭,关闭完后再按返回键是没反应了。

目前试过UC的sdk,在关闭UC自己的相关窗口后再按返回键,是可以提示是否退出的窗口,但是这个窗口是UC自己的提示窗。
其他的平台,例如oppo, 联想,魅族,vivo,安智,斯凯,金立,拇指玩,蜗牛这几个都是在关闭他们自己的窗口后,再按返回键就没反应了。

没有看到有什么事件可以自己处理的,也无法在上面那个判断的else里面强制添加自己的退出代码,不然会导致本来返回键是关闭平台sdk窗口的,而同时也推出了游戏。
请问这个怎么处理。应该是一个通病吧?

因为有的渠道是没有这个退出界面的,你可以自己做个退出提示框了
话说,按返回键关掉sdk自己窗口的时候不会响应你游戏的返回键事件吧

举个例子:

渠道A打开了用户信息界面,这个时候按返回键,默认响应是渠道A的用户界面消失了,这个是正常的操作,但是如果自己再监听返回键进行退出,我如何判断用户按返回键的时候,是想关闭渠道A的用户信息界面,而不是退出游戏?

哦哦,刚刚没看清你的回复。
经过测试,在lua里面写返回键的监听,一直都是接收不到的,不管sdk自己的窗口是否被打开,估计被AnySDK截断了。
然后就在java里面写返回键的监听,确实任何时候都会响应返回键的监听,所以才有以上的疑问。

— Begin quote from ____

引用第3楼heshule于2015-01-06 13:07发表的 回 1楼(孤独の快乐) 的帖子 :
哦哦,刚刚没看清你的回复。
经过测试,在lua里面写返回键的监听,一直都是接收不到的,不管sdk自己的窗口是否被打开,估计被AnySDK截断了。
然后就在java里面写返回键的监听,确实任何时候都会响应返回键的监听,所以才有以上的疑问。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=279369&pid=1214632

— End quote

我用cocos2d-x 3.3的C++的监听返回按键的事件,按返回键关闭渠道的登陆界面的时候不会响应cocos2d-x监听的返回按键事件

能否贴个代码试试看?

— Begin quote from ____

引用第5楼heshule于2015-01-06 18:32发表的 回 4楼(孤独の快乐) 的帖子 :
能否贴个代码试试看? http://www.cocoachina.com/bbs/job.php?action=topost&tid=279369&pid=1215024

— End quote

setKeyboardEnabled(true);
```

void HelloWorld::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event)
{
    switch(keyCode)
    {
        case EventKeyboard::KeyCode::KEY_BACK:
            Plugin::getInstance()->exit();
            break;
    }
}
```


void Plugin::exit()
{
    if(_pluginUser && _pluginUser->isFunctionSupported("exit"))
    {
        _pluginUser->callFuncWithParam("exit",NULL);
    }
    else
    {
        Director::getInstance()->end();
    }
}
```



没用过3.x版本的lua,所以不知道怎么监听返回键