This is my activity:
import com.apprikot.kooora.controller.interfaces.HasTwitter;
import com.facebook.CallbackManager;
import com.facebook.FacebookSdk;
import com.twitter.sdk.android.core.identity.TwitterAuthClient;
public class SocialActivity extends BaseActivity implements HasTwitter {
protected CallbackManager mCallbackManager;
protected TwitterAuthClient mTwitterAuthClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
mCallbackManager = CallbackManager.Factory.create();
mTwitterAuthClient = new TwitterAuthClient();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mCallbackManager.onActivityResult(requestCode, resultCode, data);
mTwitterAuthClient.onActivityResult(requestCode, resultCode, data);
}
@Override
public TwitterAuthClient getTwitterAuthClient() {
return mTwitterAuthClient;
}
}
The simple solution that's not working with me, is to put the initialization before the setContentView, which is already done in my case.
This is the main activity manifest declaration (it extends the SocialActivity above):
<activity
android:name=".controller.activities.MainActivity"
android:clearTaskOnLaunch="true"
android:configChanges="orientation|screenSize"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustPan"/>
Finally, this is the crash I'm getting:
java.lang.RuntimeException: Unable to resume activity {com.sikooora/com.facebook.FacebookActivity}: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.\n\tat android.app.ActivityThread.performResumeActivity(ActivityThread.java:2853)\n\tat android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2882)\n\tat android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2314)\n\tat android.app.ActivityThread.access$700(ActivityThread.java:157)\n\tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)\n\tat android.os.Handler.dispatchMessage(Handler.java:99)\n\tat android.os.Looper.loop(Looper.java:176)\n\tat android.app.ActivityThread.main(ActivityThread.java:5317)\n\tat java.lang.reflect.Method.invokeNative(Native Method)\n\tat java.lang.reflect.Method.invoke(Method.java:511)\n\tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)\n\tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)\n\tat dalvik.system.NativeStart.main(Native Method)\nCaused by: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.\n\tat com.facebook.internal.Validate.sdkInitialized(Validate.java:136)\n\tat com.facebook.FacebookSdk.getApplicationContext(FacebookSdk.java:427)\n\tat com.facebook.AccessTokenManager.getInstance(AccessTokenManager.java:84)\n\tat com.facebook.AccessToken.getCurrentAccessToken(AccessToken.java:144)\n\tat com.facebook.login.LoginClient.authorize(LoginClient.java:121)\n\tat com.facebook.login.LoginClient.startOrContinueAuth(LoginClient.java:108)\n\tat com.facebook.login.LoginFragment.onResume(LoginFragment.java:152)\n\tat android.support.v4.app.Fragment.performResume(Fragment.java:2020)\n\tat android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1107)\n\tat android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)\n\tat android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1234)\n\tat android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:2056)\n\tat android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:196)\n\tat android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:505)\n\tat android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:494)\n\tat android.app.Activity.performResume(Activity.java:5417)\n\tat android.app.ActivityThread.performResumeActivity(ActivityThread.java:2830)