我需要在我的android應用中實現Facebook的共享功能。我的場景是我必須能夠使用在所有其他活動中在啓動屏幕中創建的facebook對象。我已經檢查了SO &中發現的下面提到的鏈接中的相關問題。現在我猜測,他們中的哪一個是實施的理想方式。請讓我知道您對這些方法的看法,或者如果您有自己的方法,請告訴我。Android:在各種活動中共享Facebook會話對象
Sharing a global facebook object across Android activities
Facebook android: passing facebook object between activities
Android: Passing a Facebook session across activities
Facebook wall post from multiple Activities 在上述
首先解優惠提到與創建應用程序上下文內facebook的對象和在應用程序共享的答案:
public class GlobalVars extends Application {
public static final String APP_ID = "123456789";
public Facebook facebook = new Facebook(APP_ID);
}
第二種解決國家使用sharedprefernces的。在創建有效的Facebook會話後,它將存儲在sharedpreferences中,並在需要時恢復到每個活動中。
SharedPreferences prefs = getApplicationContext().getSharedPreferences("facebook",MODE_PRIVATE);
String access_token = prefs.getString("access_token", null);
long expires = prefs.getLong("access_expires", 0);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
方案三國家使用parcelable實施。
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
四解正試圖創建一個包含Facebook的靜態對象的類,並試圖使用相同的所有活動。
Class Utiltiy {
public static Facebook mFacebook;
public static void initialize() {
mFacebook = new Facebook(app_id);
}
}
Utility.mFacebook.request(....).
感謝您閱讀整篇文章。請建議一個合適的方法。
感謝您的快速回復。我非常感謝你提出了一種提取證書的新方法。但我想它很複雜。我在我的應用程序中使用了Facebook SDK,因此它可以爲我們處理獲取令牌。 – vijaykumarg 2012-07-08 11:16:46