我正在学习将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