#android #facebook #single-sign-on
#Android #Facebook #единый вход
Вопрос:
Я хочу реализовать Facebook Connect в своем приложении для Android. Я видел несколько приложений, таких как foursquare, которые при нажатии кнопки входа в Facebook переходят к приложению Facebook, установленному на устройстве, и запрашивают разрешение, а после его предоставления возвращаются в приложение и регистрируют вас.
Я попытался реализовать код со следующей страницы https://developers.facebook.com/docs/mobile/android/sso /
но когда я нажимаю войти, появляется диалоговое окно веб-просмотра, и мне нужно ввести имя пользователя и пароль.
Может ли кто-нибудь сослаться на какой-нибудь учебник по SSO для Facebook Android SDK
public class SplashActivity extends Activity {
private Button loginButton, signupButton, FacebookButton;
public static final String APP_ID = "11232201730";
Facebook facebook = new Facebook("APP_ID");
String[] permissions = { "user_about_me", "email", "user_birthday",
"user_location", "publish_stream" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
FacebookButton = (Button) findViewById(R.id.FacebookLogin);
FacebookButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
facebook.authorize(this, new Facebook.DialogListener() {
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
}
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
}
public void onCancel() {
// TODO Auto-generated method stub
}
});
}
});
}
}
Ошибка
Метод авторизации (Activity, Facebook.DialogListener) в типе Facebook не применим для аргументов (новый вид.OnClickListener(){}, новый Facebook.DialogListener(){})
Комментарии:
1. Вы когда-нибудь использовали Facebook SDK?
2. это первый раз, когда я это пробую..
3. К вашему сведению, Facebook удаляет этот код. Итак, переключитесь на автоматическое управление сеансами SDK 3.0. Здесь вы можете начать: github.com/freakynit/facebook-android-sdk-3.0-small-playground
4. @NitinBansal спасибо. опубликовал этот вопрос в 2011 году: D
Ответ №1:
facebook.authorize(this, new Facebook.DialogListener()
должно быть
facebook.authorize(SpashActivity.this, new Facebook.DialogListener()
Комментарии:
1. спасибо 🙂 работает… когда у меня есть @override поверх внутренних методов .. я получаю эту ошибку «Метод onComplete (Bundle) типа new Facebook. DialogListener(){} должен переопределять метод суперкласса »