我正在學習將facebook sdk整合到現有的android應用程序中。我相信我的一切運行良好,但是,我的應用程序每當我的應用程序加載時都會顯示一個帶有進度加載器的空白Facebook頁面。這是故意的嗎?該頁面可以隱藏嗎?Android + Facebook +在應用程序加載時隱藏Facebook屏幕?
public class MainActivity extends ListActivity{
Facebook facebook = new Facebook("***************");
String FILENAME = "AndroidSSO_data";
private SharedPreferences mPrefs;
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
* Get existing access_token if any
*/
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
/*
* Only call authorize if the access_token has expired.
*/
if(!facebook.isSessionValid()) {
facebook.authorize(this, new DialogListener() {
@Override
public void onComplete(Bundle values) {}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
...
//thread is created here to populate listview data
}
}
更新:我現在有鑰匙散列工作。在我的列表視圖顯示之前,我仍然可以看到帶有進度加載器的默認Facebook頁面。每次我現在啓動應用程序時,我還會看到「權限」頁面。
NEW UPDATE: 當我從應用程序中跟蹤facebook.isSessionValid()時,我收到「false」的同時登錄官方FB應用程序(在模擬器上)。這是一個錯誤?任何額外的幫助表示讚賞!
這是Facebook登錄期間嗎?如果您可以更清楚地瞭解您的應用在這一點上做了什麼/共享您的代碼,這將有所幫助? – Torid
當應用程序加載時,它從字符串xml收集數據並填充ListView。這個動作發生在一個單獨的線程中。用戶已登錄,但在我的列表顯示之前,我仍然看到一個Facebook加載頁面。 – worked