Я работаю над настройкой, в которой пользователи могут автоматически размещать свои сообщения в своем приложении на Facebook.Правильно запрашивать опубликованные разрешения с помощью Facebook-Android SDK 3.0
Я нашел этот пример: https://github.com/fbsamples/android-3.0-howtos/blob/master/PublishFeedHowTo/src/com/facebook/samples/publishfeedhowto/MainFragment.java
, но, будучи этой функцией является установкой в моем приложении, мне нужно, чтобы выделить «позволяющее разрешение» логику от фактического «делает запрос публиковать», который происходит на другом отдельная деятельность.
На первый взгляд я предположил, что могу вырезать и вставить кусок кода ниже в свою деятельность, и он будет работать, если мой пользователь уже войдет в систему с facebook, но, видимо, мне также нужно реализовать uihelpers и Session.StatusCallback. Какой дополнительный код (кроме логики ниже) мне НЕОБХОДИМО реализовать в моей активности настроек, которая запрашивает разрешения?
private void publishStory() {
Session session = Session.getActiveSession();
if (session != null) {
// Check for publish permissions
List<String> permissions = session.getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
pendingPublishReauthorization = true;
Session.NewPermissionsRequest newPermissionsRequest = new Session
.NewPermissionsRequest(this, PERMISSIONS);
session.requestNewPublishPermissions(newPermissionsRequest);
return;
}
}
}
private boolean isSubsetOf(Collection<String> subset, Collection<String> superset) {
for (String string : subset) {
if (!superset.contains(string)) {
return false;
}
}
return true;
}
}
Вам не нужно использовать uiHelpers, я думаю, что все вам нужно, чтобы в вашем коде было добавлено Session.Callback для вашего нового Perm issionsRequest делать фактический пост при его вызове (конечно, сделать еще один isSubsetOf проверить ваш обратный вызов, поскольку пользователь мог отклонить ваш запрос). Также не забудьте переопределить метод onActivityResult в вашей активности/фрагменте вызова. –