Android Facebook SDK 3.23.0 - AndroidTV 上的 FB 登录

Android Facebook SDK 3.23.0 - FB Login on AndroidTV

有没有人有使用 Facebook SDK 在 AndroidTV 上执行 Facebook 登录的经验?

由于大多数情况下 AndroidTV 用户不会在 AndroidTV 设备上安装实际的 Facebook 应用程序,因此 Facebook SDK 将打开一个 WebView 以允许用户输入他的 Facebook 凭据并登录。

问题是显示的网络视图不响应方向键操作,并且用于输入文本的字段不表示它们已被选中。

我是否可以假设使用标准的 Facebook SDK 功能无法登录 AndroidTV 的 Facebook?

正确。此外,Facebook API 目前不支持 Android 电视。因此,您不可能在 Android 电视上使用 Facebook 登录构建应用程序(除非您想为其编写自己的库)。因此,没有 D-Pad 支持和文本字段的混乱功能。

这直接取自the documentation

Note: You can use the WebView class for logins to services like Google+ and Facebook.

我假设他们建议使用 WebView,但不一定是通过 Facebook SDK(其 WebView 可能是 custom/limited)。

这对我很有帮助:

解决方案是在

我的 WebView 上执行以下 javascript
onPageFinished():

webView.loadUrl("javascript:document.getElementsByName('email')[0].focus();");

Obviously this will only work with the Facebook sign in screen, since they have a text field with name 'email'.

Source

您可以在 android 电视上使用 facebook 登录,为此您必须首先启用从设备登录。 产品-Facebook 登录-设置-从设备登录-设置为是。

并且您必须使用 DeviceLoginManager 才能登录。

mDeviceLoginManager = DeviceLoginManager.getInstance();
        mDeviceLoginManager.registerCallback(mCallbackManager, facebookCallback);
 mDeviceLoginManager.setLoginBehavior(LoginBehavior.DEVICE_AUTH);
        mDeviceLoginManager.logInWithReadPermissions(this, Collections.EMPTY_LIST);

这将打开带有代码的网络视图。