1

My Facebook android application crashes everytime i try to run it on emulator..i am following the code from the facebook webiste here https://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/authenticate/

i tried other tutorials also but no matter what i use ...everytime it crashes.. here is the code

package com.example.fblogin;

import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.UiLifecycleHelper;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.Menu;

public class MainActivity extends FragmentActivity {
private static final int SPLASH = 0;
private static final int SELECTION = 1;
private static final int FRAGMENT_COUNT = SELECTION +1;
private boolean isResumed = false;
private UiLifecycleHelper uiHelper;
private Session.StatusCallback callback = 
    new Session.StatusCallback() {
    @Override
    public void call(Session session, 
            SessionState state, Exception exception) {
        onSessionStateChange(session, state, exception);
    }
};




private Fragment[] fragments = new Fragment[FRAGMENT_COUNT];
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    uiHelper = new UiLifecycleHelper(this, callback);
    uiHelper.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FragmentManager fm = getSupportFragmentManager();
    fragments[SPLASH] = fm.findFragmentById(R.id.splashFragment);
    fragments[SELECTION] = fm.findFragmentById(R.id.selectionFragment);

    FragmentTransaction transaction = fm.beginTransaction();
    for(int i = 0; i < fragments.length; i++) {
        transaction.hide(fragments[i]);
    }
    transaction.commit();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

private void showFragment(int fragmentIndex, boolean addToBackStack) {
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction transaction = fm.beginTransaction();
    for (int i = 0; i < fragments.length; i++) {
        if (i == fragmentIndex) {
            transaction.show(fragments[i]);
        } else {
            transaction.hide(fragments[i]);
        }
    }
    if (addToBackStack) {
        transaction.addToBackStack(null);
    }
    transaction.commit();
}


@Override
public void onResume() {
    super.onResume();
    uiHelper.onResume();
    isResumed = true;
}

@Override
public void onPause() {
    super.onPause();
    uiHelper.onPause();
    isResumed = false;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);
}

@Override
public void onDestroy() {
    super.onDestroy();
    uiHelper.onDestroy();
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    uiHelper.onSaveInstanceState(outState);
}
private void onSessionStateChange(Session session, SessionState state,             Exception      exception) {
    // Only make changes if the activity is visible
    if (isResumed) {
        FragmentManager manager = getSupportFragmentManager();
        // Get the number of entries in the back stack
        int backStackSize = manager.getBackStackEntryCount();
        // Clear the back stack
        for (int i = 0; i < backStackSize; i++) {
            manager.popBackStack();
        }
        if (state.isOpened()) {
            // If the session state is open:
            // Show the authenticated fragment
            showFragment(SELECTION, false);
        } else if (state.isClosed()) {
            // If the session state is closed:
            // Show the login fragment
            showFragment(SPLASH, false);
        }
    }
}


@Override
protected void onResumeFragments() {
    super.onResumeFragments();
    Session session = Session.getActiveSession();

    if (session != null && session.isOpened()) {
        // if the session is already open,
        // try to show the selection fragment
        showFragment(SELECTION, false);
    } else {
        // otherwise present the splash screen
        // and ask the user to login.
        showFragment(SPLASH, false);
    }
}
}

`

  • Including code is important; good job. Now include a copy of the error text from logcat. – Krylez Apr 05 '13 at 16:16
  • Doesn't it throws any exceptions in the LogCat or Console? If yes can you share the exception details. – Joseph Selvaraj Apr 05 '13 at 16:20
  • @krylez thanx it stops and shows exception:: 04-05 16:43:55.840: E/external/webkit/Source/WebKit/android/WebCoreSupport/WebRequest.cpp(1445): Cancel called on a not started WebRequest: (??5*) – shardul sriavstava Apr 05 '13 at 16:46
  • @JosephSelvaraj here is the exception ...my code include button clicking on which it should show a facebook window but on clicking th button it just shows the spinner and stops – shardul sriavstava Apr 05 '13 at 16:49
  • So now you'll want the entire content of that message. What you're looking for is where it mentions your classes (MainActivity) and/or any of the Facebook SDK classes. – Krylez Apr 05 '13 at 16:50
  • @Krylez here is the Logcat info com.example.fblogin 04-05 16:43:53.121: D/FacebookSDK.WebDialog(1445): Webview loading URL: https://m.facebook.com/dialog/oauth?type=user_agent&redirect_uri=fbconnect%3A%2F %2Fsuccess&display=touch&client_id=153791708115302 co.example.fblogin 04-05 16:43:55.840: E/external/webkit/Source/WebKit/android/WebCoreSupport/WebRequest.cpp(1445): Cancel called on a not started WebRequest: (??5*) 04-05 16:43:55.910: A/libc(1445): Fatal signal 11 (SIGSEGV) at 0x00000001 (code=1), thread 1483 (CookieSyncManag) here com.example.fblogin is the package name – shardul sriavstava Apr 05 '13 at 17:07

0 Answers0