我想用facebook身份验证开发android应用程序。但如果手机上有facebook应用程序,我无法在我的应用程序上进行身份验证,如果没有,则效果很好。
所以,我想在没有Facebook应用程序的情况下通过移动网络强制进行facebook身份验证。
只有在应用程序中使用authorize(。,。)时,才会直接使用facebook app。
我该如何解决这个问题?
另外,如果我通过facebook app认证,Hackbook(https://developers.facebook.com/docs/mobile/android/hackbook/)也不起作用。我无法登录app。
/////评论
我自己找到了答案
在facebook sdk中更改facebook.java中的授权功能。
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);
}
现在有效!
答案 0 :(得分:4)
当您使用Facebook SDK 3.0和登录按钮时,强制执行此操作的最佳方法是将LoginBehavior设置为LoginButton。这可以这样做:
LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);