0
我試過教程http://developers.facebook.com/docs/mobile/android/build/#sdk,我能夠成功登錄。這段代碼提供了一個登錄對話框。但我想把它作爲一個活動。因爲我也必須從這個活動中執行其他任務。就像當新的活動在成功登錄之後開始回到以前的Facebook(facebook)活動時。請幫幫我。 謝謝如何登錄到Android上的Facebook
我試過教程http://developers.facebook.com/docs/mobile/android/build/#sdk,我能夠成功登錄。這段代碼提供了一個登錄對話框。但我想把它作爲一個活動。因爲我也必須從這個活動中執行其他任務。就像當新的活動在成功登錄之後開始回到以前的Facebook(facebook)活動時。請幫幫我。 謝謝如何登錄到Android上的Facebook
該對話框僅爲用戶登錄到Facebook創建。一旦完成後,它將返回到原來的活動。這就是你要求的權利?
可以說你想發佈消息給Facebook。
try {
Log.d(TAG, "postToFaceBook()");
if (facebook == null) {
facebook = new Facebook(API);
String access_token = prefs.getFBAccesTocken();
long expires = prefs.getFBExpiry();
if (access_token != null) {
facebook.setAccessToken(access_token);
}
if (expires != 0) {
facebook.setAccessExpires(expires);
}
}
if (facebook.isSessionValid()) {
Log.d(TAG, "Session is valid");
facebook.extendAccessTokenIfNeeded(this, null);
postToFacebook();
} else {
Log.d(TAG, "not valid");
// Using SSO OAuth
// facebook.authorize(this, new String[] { "publish_stream"
// },new LoginDialogListener());
// Not using SSO
facebook.authorize(this, new String[] { "publish_stream" },
Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener());
}
} catch (NullPointerException e) {
Log.e(TAG, "An error occurd trying to open facebook app");
如果用戶已經登錄到Facebook在過去,有一個有效的會話,它只會發佈到Facebook上,如果沒有一個有效的會話,將打開的對話框,並嘗試登錄。
LoginDialogListener()響應此響應。
public class LoginDialogListener extends BaseDialogListener {
@Override
public void onComplete(Bundle values) {
Log.d(TAG, "Login response recieved");
prefs.saveToken(facebook.getAccessToken());
prefs.saveExpiry(facebook.getAccessExpires());
facebook.extendAccessTokenIfNeeded(MyActivity.this, null);
Log.d(TAG, "Logged in ");
postToFacebook();
}
}
另一種選擇是使用SSO(我已經在示例代碼中註釋掉了)。
感謝Danwms 其實我是新來的android。在哪裏使用這個代碼?在onComplete方法?的facebook登錄對話框。我已經開始在onCompleted方法中使用意圖進行新的活動,並且當我點擊後退按鈕時,我想去登錄對話框和其他目的而不是主要活動。 – Nadeem