【发布时间】:2013-12-05 19:08:42
【问题描述】:
我用 C++ 在 cocos2dx 上创建了一个游戏,现在我想将它与 Facebook 连接,为此我使用 JAVA 来完成,然后将它与 JNI 连接。这两件事都完美无缺,但要将其与 Facebook 连接,我需要 @override 方法 onCreate(),但我不知道如何从 C++ JNI 调用该方法。
当我将我的 Facebook 代码移动到一个新函数时,我需要执行它
Session.openActiveSession(this, true, new Session.StatusCallback() {}
但是“this”在 onCreate() 之外不存在。有任何想法吗?
1-。如何在不调用 onCreate() 方法的情况下使用 Facebook 登录 {}
2-。如何从 JNI C++ 调用 onCreate 方法?
我的 JNI 代码:
它调用 FacebookLogin,可以正常工作,但不能使用 onCreate
if(JniHelper::getStaticMethodInfo(minfo,
"com/company/game/Facebook",
"facebookLogin",
"()V"))
{
jstring StringArg1 = minfo.env->NewStringUTF(msg);
minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID);
minfo.env->DeleteLocalRef(minfo.classID);
}
谢谢:D
【问题讨论】:
-
在此处查看 Cocos2dx 的开源 Plugin-X 项目github.com/cocos2d-x/plugin-x 您可以考虑编写所有 JNI 调用。
-
嗨@VikasPatidar 我会检查一下,谢谢:D
-
您好,我也遇到了同样的问题,您的 Facebook 集成是否成功?请告诉我非常感谢
-
嗨@Khash,是的问题是你需要把它放在Cocos2dxActivity的主Actividty上并分配onEnter act = this。其中act是Cocos2dxActivity,在你调用这个的任何地方,你都会放置act。我将在答案上粘贴代码
-
嗨@EduardoIglesias,感谢等待代码!
标签: android c++ facebook java-native-interface cocos2d-x