2013-07-09 4 views
0

Вход и запрос разрешений работают очень хорошо. Но есть одна проблема: мне нужно спросить разрешение на публикацию, когда пользователь хочет поделиться какой-то датой с моим приложением. Вот мой код:Запрос на обработку новых разрешений

ParseFacebookUtils.getSession().requestNewPublishPermissions(new NewPermissionsRequest((Activity) context, 
      Arrays.asList(Permissions.Extended.PUBLISH_ACTIONS, Permissions.Extended.PUBLISH_STREAM)) 
     .setCallback(new StatusCallback() { 
      @Override 
      public void call(Session session, SessionState state, Exception exception) { 
       if (!arePublishPermissionsEnabled(session)) { 
        inflow.setChecked(false); 
        facebook.setChecked(false); 
        twitter.setChecked(false); 
       } 
      } 
     })); 

Проблема в обработке ситуации, когда пользователь отменяет запрос или происходит потеря сетевого подключения. В этом случае мне нужно внести некоторые изменения в свой пользовательский интерфейс, но вызов метода вызывается только при изменении состояния сеанса (например, предоставления новых разрешений), и я не могу правильно изменить свой интерфейс. Кто-нибудь сталкивался с такой проблемой?

+0

Какую версию SDK вы используете? Я считаю, 3.0.1 решает эту проблему. –

+0

Нет, это 3.0.2 –

ответ

1
private void requestPublishPermissions(Session session) { 
    List<String> PERMISSIONS = Arrays.asList("publish_actions", "publish_stream"); 
    if (session != null) { 
     pendingAnnounce = true; 
     Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, PERMISSIONS); 

     newPermissionsRequest.setRequestCode(REAUTH_ACTIVITY_CODE); 
     Session mSession = Session.openActiveSessionFromCache(this); 
     mSession.addCallback(callback); 
     mSession.requestNewPublishPermissions(newPermissionsRequest); 
    } 
} 
+0

спасибо! REAUTH_ACTIVITY_CODE работает, как я хочу –

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