我正在构建一个使用 facebook android sdk 和 sso 功能的应用程序。每次启动我的应用程序时,它都会在通过 sso 通过现有 facebook 应用程序登录时短暂显示一个 facebook 窗口。有没有办法隐藏这个屏幕并确保我的活动在检查 facebook 凭据和会话等时保持在最前面。
问问题
657 次
1 回答
1
对于第一个是未登录的用户,它要求它弹出登录对话框。但是一旦用户登录并且您尝试发送任何 facebook 请求,它就会检查会话,如果它是有效的,那么它将不会显示对话框。
当您第一次登录时,将过期和访问令牌存储到您的共享首选项中,并在第二次传递/设置这些(过期和访问令牌到 facebook 对象)并检查是否有效会话。
这是简短的代码;存储您访问令牌并在下面的方法 facebook.authorize 中过期:onComplete 侦听器:
例如
Editor editor = mPrefs.edit();
editor.putString("access_token",
facebook.getAccessToken());
editor.putLong("access_expires",
facebook.getAccessExpires());
editor.commit();
下次通过将这些值传递给 facebook 对象并检查其是否有效?
facebook = new Facebook(MyConstant.Fb_APPID);
String access_token = preferences.getString("access_token",
null);
long expires = preferences.getLong("access_expires", 0);
if (access_token != null) {
facebook.setAccessToken(access_token);
}
if (expires != 0) {
facebook.setAccessExpires(expires);
}
if (facebook.isSessionValid()){
// do your work here
}
希望对你有用....
于 2012-08-01T05:08:39.400 回答