安卓:如何通过移动网页强制进行Facebook认证

3
我想开发一个带有Facebook认证的Android应用程序。但是,如果手机里已经安装了Facebook应用程序,我就无法在我的应用程序上进行认证,否则它可以正常工作。
因此,我想通过移动Web强制进行Facebook认证,而不使用Facebook应用程序。
只有当我在应用程序中使用authorize(. , .)时,它才会直接使用Facebook应用程序。
我该如何解决这个问题?
此外,Hackbook(https://developers.facebook.com/docs/mobile/android/hackbook/)也不能在我使用Facebook应用程序进行认证时工作。我无法登录应用程序。
/////评论
我自己找到了答案。
更改Facebook SDK中的facebook.java中的authorize函数即可解决问题。
public void authorize(Activity activity, final DialogListener listener) {
    authorize(activity, new String[] {}, FORCE_DIALOG_AUTH,
            listener);
}

/**
 * Authorize method that grants custom permissions.
 *
 * See authorize() below for @params.
 */
public void authorize(Activity activity, String[] permissions,
        final DialogListener listener) {
    authorize(activity, permissions, FORCE_DIALOG_AUTH, listener);
}

现在它可以工作了!


只是为了记录。如果有人正在尝试解决那个有点臭名昭著的“Unity3D Facebook哈希值错误”问题{这里的方法是一个解决方案},现在已经有一个解决方案了:ttp://answers.unity3d.com/questions/609810/using-facebook-api-with-android-says-login-is-canc.html - Fattie
1个回答

4

当您使用Facebook SDK 3.0以及登录按钮时,最好的方法是将LoginBehavior设置为LoginButton来强制执行此操作。操作方式如下:

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);

来源:Android - 强制 Facebook 登录 - Stack Overflow


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接