我用C在cocos2dx上创建了一个游戏,现在我想把它和Facebook连接起来,为了实现这一点,我用JAVA做它,然后把它和JNI连接起来。这两种方法都能很好地工作,但要将其与Facebook连接起来,我需要@override the method onCreate(),但我不知道如何从C JNI调用该方法。
当我将我的Facebook代码移动到一个新函数时,我需要执行这个
Session.openActiveSession(this, true, new Session.StatusCallback() {}
但是“this”在onCreate()之外不存在。有什么想法吗?
1-. 如何登录Facebook,而不调用onCreate(){}方法
2-.如何从JNI C调用onCreate方法?
我的JNI代码:
它调用Facebook登录,并正常工作,但没有与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
我解决了。
问题是您需要将其放在Cocos2dxactive的主Actividty上并分配onEnter act=this。其中act是Cocos2dxactive,在任何您调用它的地方,您都将放置act
代码:
public class game extends Cocos2dxActivity{
static Cocos2dxActivity act;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
System.out.println("Super init");
act = this;
}
public static void FacebookLogin() {
Session.openActiveSession(act, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(final Session session2, SessionState state, Exception exception) {
if (session2.isOpened()) {
Request.newMeRequest(session2, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Log.d("Facebook", "Hello " + user.getName() + "! Id: "+user.getId());
isLoggedIn();
String mail = (String)response.getGraphObject().getProperty("email");
if (mail == null) {
mail = "null";
}
userID(user.getId(), mail, user.getName());
session = session2;
}
}
}).executeAsync();
}
}
});
}
}
问题内容: 在Android中,最简单的方法来获得朋友的生日?还是关系状态?使用FQL还是通过Android的Facebook API SDK进行请求? 谢谢。 问题答案: 现在,如果您打印jobject1,您将获得所有朋友的生日清单。 响应将采用JSON格式,您必须从中获取值。 authenticatedFacebook是您反对Facebook的对象。 为了进一步说明,请检查此链接 .....
问题内容: Facebook API和Facebook Connect的新功能。 在Google Code上找到了Facebook Java API开源库… 我真的很高兴有一个用Java预先编写的API! 对编写服务器端Java层感兴趣,该层使用REST能够访问用户的Facebook朋友列表,他们的墙,在网络上向他们发送消息等。 下载二进制文件,不幸的是,我解压缩时没有找到任何示例或演示代码。 问
问题内容: 我只想要一些确认。 我在Windows上开发 我正在尝试将Facebook集成到应用中,并且SDK文档说我需要“导出签名” 从这里:http : //developers.facebook.com/docs/guides/mobile/#android 因此它说运行此命令: 首先,我必须下载openssl:OpenSSL 现在,假设上面的命令应该转换为: 因此,您想要安装在最新的Jav
问题内容: 编辑:我的问题是如何使用Facebook SDK 4.X获取电子邮件,UserId,Facebook身份验证,此刻,借助Ming Respond,我知道如何获取电子邮件,用户ID,所以我的问题是如何获取Facebook身份验证,因为Session和GraphUser刚被LoginManager和AccessToken取代,没有关于它的信息吗? 问题答案:
问题内容: 我想按以下方式对数据使用量进行分类: 作为Android开发的初学者,任何人都可以帮助我解决此Android编程问题,并且目前希望开发一个移动网络监控应用。我想通过指定应用程序名称来获取数据使用情况。 谢谢。希望听到大家的声音。 问题答案: 使用http://developer.android.com/reference/android/net/TrafficStats.html#ge
问题内容: 我尝试了这个:当isSessionValid getDetails直接否则else facebook.authorize,然后在onActivityResult中获取getDetails 当我的系统上安装了Facebook应用程序时,此方法工作正常。但是,如果未安装,我将获得一个Web视图以输入facebook凭据,并在logcat中显示登录成功,但是没有调用getDetails块。
问题内容: 继这在我的Android应用程序和测试我使用Facebook的SDK我已经添加下面的代码到我的MainActivity: 并且我在清单中添加了以下步骤: 当我测试shareDialog时,它突然关闭了。 问题答案: 您需要将您的应用设置为“公开”。 转到应用设置中的“状态和评论”部分,然后打开选项“您是否要使该应用及其所有实时功能向公众开放?”
问题内容: 当我尝试编译我的应用程序时,出现以下错误 如果我摆脱了Facebook Android SDK,它可以毫无问题地进行编译。 我的build.gradle: 问题答案: 首先,您应该尝试使用 Check 列出您的依赖项,检查是否存在库冲突(相同的库,但版本不同)。在这种情况下,我认为您应该从Facebook SDK中排除支持库模块。