如何检查用户是否使用 FB SDK 4.0 for Android 登录?

2024-05-24

几天前,我在我的应用程序中实现了 FB Login,今天我发现我实现的大部分内容现在都已弃用。

之前我用的是Session查看用户是否已登录。但是,这不适用于新的 SDK。

根据他们的文档,我们可以使用AccessToken.getCurrentAccessToken() and Profile.getCurrentProfile()检查用户是否已经登录,但我无法使用它们。

我尝试过这样的事情:

if(AccessToken.getCurrentAccessToken() == null)

我想知道如果我可以在其中使用它(这也是由 FB 提供的),这是否可行:

LoginManager.getInstance().registerCallback(callbackManager, new LoginManager.Callback() {...});

但是,我得到了“无法解析符号‘回调’”。

编辑!!!!!!

好的,所以我可以使用以下命令检查用户是否已登录:

在 onCreate 上:

accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
            updateWithToken(newAccessToken);
        }
    };

然后,这就是我的updateWithToken method:

private void updateWithToken(AccessToken currentAccessToken) {
    if (currentAccessToken != null) {

            LOAD ACTIVITY A!

    } else {

            LOAD ACTIVITY B!
    }
}

现在的问题是:如果用户使用过该应用程序并且之前登录过,我可以检查一下!但如果用户是第一次使用该应用程序,updateWithToken我的 AccessTokenTracker 从未调用过。

如果有人可以提供帮助,我将非常感激。

Thanks!


一个更简单的解决方案适用于我的情况(不过我不知道这是否是更优雅的方式):

public boolean isLoggedIn() {
    AccessToken accessToken = AccessToken.getCurrentAccessToken();
    return accessToken != null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查用户是否使用 FB SDK 4.0 for Android 登录? 的相关文章

随机推荐

  • Objective-C 中的属性和实例变量

    我对 Objective C 中的属性和实例变量感到相当困惑 我正在阅读 Aaron Hillegass 的 Mac OS X 的 Cocoa 编程 一切都很合乎逻辑 你可以像这样声明一个类 class Something interfac
  • QWebSocketServer - 不释放内存

    首先 我在安全 websocket 服务器应用程序上运行 valgrind 并发现了一个问题 在 Qt Memcheck 中我必须检查 外部错误 看到它 一些字节是肯定输了 指着我的main就在我的地方QCoreApplication ex
  • 如何让 Vim 匹配不以七位数字开头的行?

    我有一个大约 1000 行的文件 除个别行外 所有行均以七位数字开头 我需要捕捉这些行并将它们与前一行实际连接起来 我已经成功地能够使用以下正则表达式模式匹配以七位数字开头的任何行 d 7 我似乎无法让它匹配任何一行不匹配不过 这种模式确实
  • 如何按名称杀死进程? (Win32 API)

    基本上 我有一个将启动多次的程序 因此 该程序将启动两个或多个进程 我想使用 Win32 API 并终止 终止具有特定名称的所有进程 我见过杀死一个进程的例子 但没有看到多个具有完全相同名称 但参数不同 的进程 尝试下面的代码 killPr
  • 如何在 ag-grid 中以编程方式更改“无行显示”文本?

    我最近一直在修补 Ag grid 当我从 REST API 获取一些数据时 我想将 无行显示 文本更改为 数据正在加载 数据以 JSON 对象数组的形式返回 但是 如果 API 确实返回一个空数组 我希望 数据正在加载 文本更改为 无行可显
  • 在 Xcode 6 - Swift 中使用自定义字体 [重复]

    这个问题在这里已经有答案了 我是斯威夫特新手 我想知道如何在 Xcode 6 的 swift 应用程序中使用自定义字体 您只需将字体文件 ttf 拖到 Xcode 左侧窗格的资源区域中即可 当您将其放入时 会出现一个对话框 确保您的应用程序
  • Java中如何确保String对象被销毁?

    我公司的一名员工需要通过我编写的程序修改 SQL Server 数据库中的数据 该程序首先使用 Windows 身份验证 我要求 DBA 授予该特定用户对所述数据库的写入权限 他们不愿意这样做 而是授予了写权限myWindows 用户帐户
  • 如何使用 thymeleaf 和 spring 用列表填充下拉列表

    我需要用字符串列表中的所有值填充下拉列表 控制器类 RequestMapping value generateIds method RequestMethod GET public String launchPage Model model
  • 是否可以使用 Python 读取 FTP 文件而不编写它们?

    我正在尝试使用 Python 的 ftplib 读取文件而不写入它们 大致相当于 def get page url try return urllib urlopen url read except return 但使用FTP I trie
  • 在 MATLAB 图中用值标记点

    以下命令确实用正方形标记了点 但没有在其中放入值 例如 21 0 X 21 8 2 1 0 Y 0 1 2 3 4 plot X Y k s 我应该添加哪个参数以便全部5点值出现在图上吗 这些值不能一一键入 因为它们是随机数 因此它们可能会
  • 打字总是抱怨全局模块

    我对打字稿很陌生 无论我尝试安装什么类型 我都会得到 打字错误 消息 尝试将 Angular 编译为外部模块 但它看起来像全局模块 我只是想做 typings install dt angular 我究竟做错了什么 Update 如果您对此
  • 从类 T 获取函数名 (__func__) 和指向成员函数的指针 void(T::*pmf)()

    是否可以写一些f 接受类型的模板函数T和一个指向签名成员函数的指针void T pmf 作为 模板和 或函数 参数并返回const char 指向成员函数的 func 变量 或损坏的函数名称 EDIT 我被要求解释我的用例 我正在尝试编写一
  • 停止 JavaScript 执行而不锁定浏览器

    您是否能够在不锁定浏览器的情况下停止 JavaScript 执行 通常停止执行的方法是无限执行while loop 但对于 FireFox 它会锁定浏览器 直到循环结束 您对此有何看法 我正在尝试覆盖window confirm 使用 HT
  • 构建服务器上的基础设施组件

    我 继承 了一个新的 旧的 Winforms 项目 并希望将其放到我们的构建服务器 Bamboo 上 该构建服务器只安装了绝对最低限度的版本 NET 3 5 仅此而已 我们希望保持这种状态 第一步 我将 Infragistics 组件的所有
  • JavaScript 在一行中定义并返回一个变量

    在 JavaScript 中 如果我想返回一个变量 但不想修改它或将其泄漏到全局范围中 我可以像这样在一行中定义并返回它吗 return var Foo bar 但是 我认为我在任何地方都没有见过这种情况 我更常见的是 var Foo ba
  • RTC简单ID查询结果404?

    我试图简单地通过 ID 查找 RTC 票证 但它告诉我 404 未找到 也许我应该用一些东西替换 ggTXcJdTEeCznlnpJMXHdQ 或爵士乐或 oslc 或上下文或http purl org dc terms http purl
  • 在EJB3中如何使用JNDI获取新的Stateful Session Bean?

    我正在尝试使用 JNDI 在 servlet 中获取新的有状态会话 Bean 作为局部变量 我的doGet 方法有以下几种 Bean bean Bean new InitialContext lookup beanName 我尝试过包括ja
  • 获取当前范围内所有定义的变量

    我正在解析一个包含以下内容的网站 hmapId 7 42500000000626135 hmapStartInterv 7 750 hmapEndInterv 7 846 hmapUrlInterv 7 some url hmapNameI
  • Phoenix 编程:未定义函数 page_path/2

    我的网络应用程序遇到问题 出现以下编译错误 Compilation error on file web controllers auth ex CompileError web controllers auth ex 49 undefine
  • 如何检查用户是否使用 FB SDK 4.0 for Android 登录?

    几天前 我在我的应用程序中实现了 FB Login 今天我发现我实现的大部分内容现在都已弃用 之前我用的是Session查看用户是否已登录 但是 这不适用于新的 SDK 根据他们的文档 我们可以使用AccessToken getCurren