在个人应用而非设备浏览器中打开Facebook登录屏幕

Pra*_*rve 3 browser android in-app facebook-login twitter-login

当设备上安装了Facebook应用程序且我未登录时。单击Facebook登录按钮时,我自己的应用程序将打开Facebook应用程序。如果我正在Facebook应用程序上登录,则我自己的应用程序将从Facebook应用程序获取登录详细信息,并让我使用登录名信息。当我没有在设备上安装facebook应用程序时,第一次单击自己的应用程序中的facebook登录按钮时,它将在默认设备浏览器上打开facebook登录页面,并保存我的登录凭据以供下次使用。下次我尝试直接登录时,将获取登录信息。

问题是当我在默认设备浏览器(例如chrome)上明确打开facebook网站时。我直接从我自己的应用程序登录到我已登录的帐户。

浏览器正在缓存登录数据,我想停止该操作。

所以我想打开登录对话框,其中包含单击Facebook按钮时用于Facebook登录的webview。

我已经在xml中按了如下所示的按钮

<com.facebook.login.widget.LoginButton
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:facebook="http://schemas.android.com/apk/res-auto"
    android:id="@+id/button_facebook_login"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

小智 6

您必须在代码中执行此操作,它将为您工作。

LoginManager.getInstance()。setLoginBehavior(LoginBehavior.WEB_VIEW_ONLY); 或facebookLoginButton.setLoginBehavior(LoginBehavior.WEB_VIEW_ONLY);

有关更多信息,请参见下面的链接

https://developers.facebook.com/docs/reference/android/current/class/LoginBehavior/