2016-09-01 2 views
0

Вот как я реализовал механизм обратного вызова для кнопки FB логин:Нажатие кнопки Facebook Войти ничего не делает

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FacebookSdk.sdkInitialize(getApplicationContext()); 
     AppEventsLogger.activateApp(this); 
     setContentView(R.layout.activity_main); 

     loginButton = (LoginButton)findViewById(R.id.login_button); 

     callbackManager = CallbackManager.Factory.create(); 

     loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 

       Log.d("FB onSuccess 1", ""); 
      } 

      @Override 
      public void onCancel() { 
       Log.d("FB onCancel 1", ""); 
      } 

      @Override 
      public void onError(FacebookException e) { 
       Log.d("FB onError 1", ""); 
      } 
     }); 
    } 

При нажатии кнопки появляется вертушка, начинается, но экран подтверждения не отображается, и журнальные сообщения не являются заполненный в Монитор активности. В чем проблема?

+1

Try, чтобы добавить эту строку 'loginButton.setReadPermissions (Arrays.asList ("электронная почта", "public_profile"));' –

+0

имеют вид на это может быть его помогите вам https://github.com/sushildlh/AllProjetcs/blob/master/TestforFacebook/app/src/main/java/com/car/ensieg/testforfacebook/MainActivity.java – sushildlh

+0

@bigdestroyer разрешено разрешение, появился экран FB, но все же вопрос 'onSuccess' не вызывается. Вы знаете, почему нет? –

ответ

1

Try Добавление этого в вашей деятельности:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    callbackManager.onActivityResult(requestCode, resultCode, data); 

} 
+0

Теперь после нажатия кнопки название изменяется на 'Log out', но все равно' onSuccess' или любые другие методы обратного вызова не вызываются. Ты знаешь почему? –

+0

На вашей кнопке нажмите этот код 'LoginManager.getInstance(). LogInWithReadPermissions (это, Arrays.asList (" email "," public_profile "));' –

Смежные вопросы