我有一个使用 Facebook Android SDK 的 Android 应用程序,将公开部署。
我的问题是,每当用户错误地使用错误密码登录时,Facebook SDK 会将密码字段更改为纯文本,这在公共环境中显然是不可接受的。
有没有办法抑制这种行为?
我有一个使用 Facebook Android SDK 的 Android 应用程序,将公开部署。
我的问题是,每当用户错误地使用错误密码登录时,Facebook SDK 会将密码字段更改为纯文本,这在公共环境中显然是不可接受的。
有没有办法抑制这种行为?
不,登录对话框是从 Facebook 端呈现的,移动登录对话框在第二次尝试时总是以纯文本形式显示密码 - 重新加载时应该在对话框中显示该效果的注释
Facebook SDK 登录对话框验证流程是从 facebook 的服务器端管理的。而且由于我们对登录验证没有任何控制权。
Facebook SDK 提供了一个 LoginButton 视图,它是一个 Button 的自定义视图实现。您可以在您的应用程序中使用此按钮来实现 Facebook 登录。LoginButton 类维护会话状态,这允许它根据用户的身份验证状态在按钮中显示正确的文本。将 LoginButton 添加到您的活动布局是实现 Facebook 登录的快速方法。
除了登录按钮,您可能还想根据用户是否经过身份验证来控制其他用户界面 (UI) 组件。Facebook SDK 包括两个类:UiLifecycleHelper
和Session.StatusCallback
,用于处理管理会话状态更改的大部分复杂性。您显示经过身份验证的功能的活动或片段可以创建UiLifecycleHelper
类的实例并传入一个Session.StatusCallback
侦听器,该侦听器会收到任何会话状态更改的通知。您的活动或片段必须调用UiLifecycleHelper
反映活动或片段生命周期方法的公共方法。这些方法用于创建、打开、保存和恢复活动的 Facebook 会话。侦听器Session.StatusCallback
实现可以覆盖call()
方法来响应会话状态更改并相应地更新 UI。
因此LoginButton
控制登录按钮功能,您可以添加自定义代码触发call()
方法来控制其他 UI 组件。