blackjack
blackjack

Reputation: 585

facebook login with fragment

As new to android and with facebook sdk but tried to login by following the link

as they say it will do the login process with facebook but nothing happen and it everytime showing the logged out state. here is the activity class.

 public class MYFaceLoginActivity extends FragmentActivity {

        private LoginFragment loginfragment; 

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // TODO Auto-generated method stub
            if(savedInstanceState==null)
            {
                loginfragment=new LoginFragment();
                getSupportFragmentManager().beginTransaction().add(android.R.id.content, loginfragment).commit();

            }
            else
            {
                loginfragment=(LoginFragment) getSupportFragmentManager().findFragmentById(android.R.id.content);
            }


        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // TODO Auto-generated method stub
            super.onActivityResult(requestCode, resultCode, data);
            //loginfragment.onActivityResult(requestCode, resultCode, data);
        }

    }

next is the fragment class

public class LoginFragment extends Fragment 
{
    private View login_view;
    private static final String TAG="LoginFragment";
    private UiLifecycleHelper uihelper;
    private LoginButton authbutton;

    private Session.StatusCallback callback=new Session.StatusCallback() {

        @Override
        public void call(Session session, SessionState state, Exception exception) {
            // TODO Auto-generated method stub
            onSessionStatechange(session, state, exception);
        }
    };

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        login_view=inflater.inflate(R.layout.login_fragment, container,false);

        authbutton=(LoginButton) login_view.findViewById(R.id.authButton);
        authbutton.setFragment(this);
        authbutton.setReadPermissions(Arrays.asList("user_likes","user_status"));

        return login_view;
    }

    private void onSessionStatechange(Session session,SessionState state,Exception exception)
    {
        if(state.isOpened()){
            Log.i(TAG, "LOGGED IN....");
        }
        else
        {
            Log.i(TAG, "LOGGED OUT....");
        }
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        uihelper=new UiLifecycleHelper(getActivity(), callback);
        uihelper.onCreate(savedInstanceState);
    }

    @Override
    public void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        Session session=Session.getActiveSession();
        if((session!=null)&&(session.isOpened()||session.isClosed()))
        {
            onSessionStatechange(session, session.getState(), null);

        }
        uihelper.onResume();
    }

    @Override
    public void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        uihelper.onPause();
    }
    @Override
    public void onSaveInstanceState(Bundle outState) {
        // TODO Auto-generated method stub
        super.onSaveInstanceState(outState);
        uihelper.onSaveInstanceState(outState);
    }
    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        uihelper.onDestroy();
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        uihelper.onActivityResult(requestCode, resultCode, data);
    }
}

can anyone point out what i m doing wrong here.Thanks for any reply and with this facebook login new 3.0 stuck for three day.

Upvotes: 5

Views: 13796

Answers (1)

Bhavesh Jethani
Bhavesh Jethani

Reputation: 3875

Please make changes in MYFaceLoginActivity file

getSupportFragmentManager().beginTransaction().add(
    android.R.id.content,loginfragment).commit();

Insted use:

getSupportFragmentManager().beginTransaction().add(R.id.content, loginfragment).commit();
loginfragment=(LoginFragment) getSupportFragmentManager().findFragmentById(R.id.content);

Upvotes: 0

Related Questions