问题描述
我想用Facebook认证开发Android应用程序。但是,如果手机上有Facebook应用程序,我无法在我的应用上通知,如果没有,它的效果很好。所以,我想强制通过手机进行Facebook身份验证没有Facebook应用程序的网页。
只有在应用程序中使用授权(。,。)才能直接使用Facebook应用程序。
如何解决这个问题?
另外,Hackbook(https://developers.facebook.com/docs/mobile/android/hackbook/)如果我通过Facebook应用程序认证,也不工作。我无法登录应用程序。
/////评论
我自己找到了答案
在facebook sdk中更改facebook.java中的授权功能。
public void authorize(Activity activity,final DialogListener listener){
authorize(activity,new String [] {},FORCE_DIALOG_AUTH,
listener);
}
/ **
*授予自定义权限的授权方法。
*
*有关@params,请参阅authorize()。
* /
public void authorize(Activity activity,String [] permissions,
final DialogListener listener){
authorize(activity,permissions,FORCE_DIALOG_AUTH,listener);
}
现在它的工作原理
当您使用Facebook SDK 3.0和登录按钮时,最好的方法是将LoginBehavior设置为LoginButton。这可以这样做:
LoginButton authButton =(LoginButton)view.findViewById(R.id.authButton);
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);来源:
I want to develop the android app with facebook authentication. But if the phone has facebook application in it, I cannot auth on my app, if not, it works well.
so, i want to force a facebook authentication by mobile web without facebook application.
Only if I use authorize(. , .)in application, it uses facebook app directly.
How can I fix this problem??
additionally, Hackbook(https://developers.facebook.com/docs/mobile/android/hackbook/) also doesn't work if I auth by facebook app. I cannot login on app.
/////comment
I found the answer by myself
Change the authorize function in facebook.java in facebook sdk.
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);
}
now it works!
解决方案 When you use Facebook SDK 3.0 and the login button the best way to force this is setting a LoginBehavior to the LoginButton. This can be done like this:
LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
Source: Android - Force Facebook connexion - Stack Overflow
这篇关于Android:我如何通过移动网络强制Facebook认证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!