I am creating a Facebook Login with Android and C**. I don’t know why, but when I execute My Facebook code crash.
I call from C** with JNI FacebookLogin() and works fine. Then create a bundle and execute onCreate. onCreate execute really good, but when its try to get Session.openActiveSession it crash.
Any idea?
public class Facebook extends Activity {
public native static void facebookLoginSucces(String userId);
public static void facebookLogin() {
Looper.prepare();
Bundle tempBundle = new Bundle();
new Facebook().onCreate(tempBundle);
Looper.loop();
//facebookLoginSucces("-1");
}
private String TAG = "MainActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
System.out.println("testing");
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
}
Log:
java.lang.IllegalStateException: No activity
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1019)
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1014)
android.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:1761)
android.app.Activity.onCreate(Activity.java:871)
com.comapny.game.Facebook.onCreate(Facebook.java:37)
com.comapny.game.Facebook.facebookLogin(Facebook.java:28)
org.cocos2dx.lib.Cocos2dxRenderer.nativeTouchesEnd(Native Method)
I double check my key hash and My app_ID
JNI CODE:
CCLOG("REACHED facebookConnect");
JniMethodInfo minfo;
if(JniHelper::getStaticMethodInfo(minfo,
"com/company/game/Facebook",
"facebookLogin",
"()V"))
{
minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID);
minfo.env->DeleteLocalRef(minfo.classID);
}