2015-09-26 77 views
0

我是Adroid應用程序開發新手,開始學習大約一週。 但自從3天后,我在成功的Facebook登錄後切換活動而苦苦掙扎。成功Facebook登錄後切換到另一個活動Android應用程序

我的問題:

1)我需要一次用戶登錄重定向到我的另一個活動 2)我需要有個人資料的細節,如資料圖片,電子郵件,姓名等上一個活動。框架(將在登錄後出現)。

當前狀態:登錄後,分片保持原樣並顯示註銷按鈕。

我這裏的片段代碼:

public class LoginFragment extends Fragment { 

private CallbackManager mCallbackManager; 
public AccessTokenTracker mAccessTokenTracker; 
public ProfileTracker mProfileTracker; 

private FacebookCallback<LoginResult> mCallback = new FacebookCallback<LoginResult>() { 
    @Override 
    public void onSuccess(LoginResult loginResult) { 
     AccessToken accesstoken = loginResult.getAccessToken(); 
     Profile profile = Profile.getCurrentProfile(); 
     Log.d("get me profile", "Name"); 
     //Log.d("Welcome :", profile.getName()); 


    } 

    @Override 
    public void onCancel() { 

    } 

    @Override 
    public void onError(FacebookException e) { 

    } 
}; 

public LoginFragment(){ 

} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    FacebookSdk.sdkInitialize(getActivity().getApplicationContext()); 

    mCallbackManager = CallbackManager.Factory.create(); 

    AccessTokenTracker mAccessTokenTracker = new AccessTokenTracker() { 
     @Override 
     protected void onCurrentAccessTokenChanged(AccessToken oldtracker, AccessToken newtracker) { 

     } 
    }; 

    mAccessTokenTracker.startTracking(); 

    ProfileTracker mProfileTracker = new ProfileTracker() { 
     @Override 
     protected void onCurrentProfileChanged(Profile oldprofile, Profile newprofile) { 
      //Log.d("New Name", "data"); 
     } 
    }; 

    mProfileTracker.startTracking(); 
} 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.login_main, container, false); 
} 

@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    LoginButton loginButton = (LoginButton) view.findViewById(R.id.login_button); 
    loginButton.setReadPermissions("public_profile"); 
    loginButton.setFragment(this); 
    loginButton.registerCallback(mCallbackManager, mCallback); 

} 

@Override 
public void onResume() { 
    super.onResume(); 
    Profile profile = Profile.getCurrentProfile(); 
} 

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    mAccessTokenTracker.stopTracking(); 
    mProfileTracker.stopTracking(); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    mCallbackManager.onActivityResult(requestCode, resultCode, data); 
} 

}

請求您的客氣話傢伙來完成這項工作。

回答

1

回答你的第一個問題 1)在FacebookCallback:onSuccess方法中,你將可以將打開下一個活動需要,該方法在片段onCreate,您將檢查的accessToken是空,如果爲空則不做任何事等待用戶按登錄,如果它不是空,則調用相同的方法打開活動需要用戶已登錄

2)你有檢查文檔和權限以獲取配置文件圖片d名稱,如果您有任何問題,請先寫下您使用的代碼以獲取用戶數據

相關問題