W nowym do android i z Facebook SDK ale starał się zalogować postępując zgodnie z linkFacebook login z fragmentem
jak mówią to zrobi proces logowania z Facebook ale nic nie stało i to za każdym razem pokazując wylogowany stan. tutaj jest klasa aktywności.
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);
}
}
obok jest klasa fragment
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);
}
}
ktoś może wskazać, co ja robię źle here.Thanks dla każdej odpowiedzi iz tego Facebook login nowego 3,0 zatrzymany na trzy dni.
Moja część była brakuje: _facebookLoginButton.setFragment (this); Dzięki! Przykład pomógł. – bentzy
Zrobiłem ten sam błąd, co @Benny .. –
@Benny, nie wierzę w to! Szukam już dwóch godzin i nie rozumiem, na czym polega problem. Dzięki!!! – offset