我正在构建一个使用 facebook android sdk 和 sso 功能的应用程序。每次启动我的应用程序时,它都会短暂显示一个 facebook 窗口,同时它会通过 sso 通过现有的 facebook 应用程序登录。有没有办法隐藏此屏幕并确保我的 Activity 在检查 Facebook 凭据和 session 等时保持在最前面。
最佳答案
对于第一个用户未登录,它要求弹出对话框进行登录。但是一旦用户登录并且您尝试发送任何 facebook 请求,它会检查 session ,如果有效则不会显示对话框。
当您第一次登录时,将过期和访问 token 存储到您的共享首选项中,并在第二次登录时传递/设置这些(过期和访问 token 到 facebook 对象)并检查是有效 session 。
这是简短的代码; 存储您的访问 token 并在以下方法中过期 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
}
希望对你有用....
关于Android Facebook SDK 隐藏登录 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11752346/