微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Webview android 中检查 Facebook 登录状态?

如何解决如何在 Webview android 中检查 Facebook 登录状态?

我正在开发一个 android 应用程序,其中我已重定向到网络视图内的 https://m.facebook.com/

需要什么?

我想检查登录状态,一旦登录成功并且用户在主页上,我想处理某些视图的可见性并将 webview 重定向到另一个 URL,即 facebook 视频链接

我尝试过什么?

我尝试检查 onLoadResource 中的 URL,并找到了一些我们在成功登录和注销时获得的 URL。但这还不够,因为 Facebook 登录可以通过不同的方法(即通过号码、通过电子邮件、通过已保存的帐户等)完成。

要检查注销:

fun isFacebookLoggedOut(url: String?): Boolean {
    return url?.startsWith("https://m.facebook.com/?stype=lo&jlou")!!
}

检查登录

fun isFacebookLoggedIn(url: String?): Boolean {
    if (url.equals("https://m.facebook.com/login/save-device/?login_source=login#_=_") || url.equals(
            "https://m.facebook.com/login/save-device/cancel/?flow=interstitial_nux_retry&nux_source=regular_login"
        ) || url?.contains("https://m.facebook.com/login/device-based/validate-pin/?refid=")!!
        || url.startsWith("https://m.facebook.com/login/device-based/login/async/?") || url.startsWith(
            "https://m.facebook.com/login/account_recovery/name_search/?flow=initiate_view&ls=initiate_view"
        )
    ) {
        return true
    } else {
        return false

    }

}

这在某些情况下和某些设备上有效,但在某些情况下,当用户使用联系电话或保存的帐户登录时,会经历不同的阶段,例如输入凭据然后验证任何代码(如果浏览器是新的)等等。

是否有任何方法或适当的方法来跟踪每个场景和每个设备的完美登录状态?

有人可以帮我解决这个问题吗? 任何帮助将不胜感激

解决方法

您可以访问 this link 以获取实施 Facebook SDK 的所有详细信息,并能够通过您的应用登录 Facebook。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。