최신 android-simple-facebook 라이브러리 ( https://github.com/sromku/android-simple-facebook )를 사용하고 있으며 이름, 사진 (프로필 이미지)으로 친구 목록을 얻고 싶습니다.
근데 친구 사진도 못 찍어 ..
아래는 내 코드입니다 ...
LoginListener에서
private OnLoginListener mOnLoginListener = new OnLoginListener() {
@Override
public void onFail(String reason) {
Log.w(TAG, "Failed to login");
}
@Override
public void onException(Throwable throwable) {
Log.e(TAG, "Bad thing happened", throwable);
}
@Override
public void onThinking() {
// show progress bar or something to the user while login is
// happening
}
@Override
public void onLogin() {
PictureAttributes pictureAttributes = Attributes.createPictureAttributes();
pictureAttributes.setType(PictureType.NORMAL);
pictureAttributes.setHeight(500);
pictureAttributes.setWidth(500);
// change the state of the button or do whatever you want
Properties properties = new Properties.Builder()
.add(Properties.ID)
.add(Properties.LAST_NAME)
.add(Properties.PICTURE, pictureAttributes)
.add(Properties.BIRTHDAY).build();
mSimpleFacebook.getFriends(properties, mOnFriendsListener);
}
@Override
public void onNotAcceptingPermissions(Permission.Type type) {
}
};
친구 청취자
// get friends listener
private OnFriendsListener mOnFriendsListener = new OnFriendsListener() {
@Override
public void onFail(String reason) {
// insure that you are logged in before getting the friends
Log.w(TAG, reason);
}
@Override
public void onException(Throwable throwable) {
Log.e(TAG, "Bad thing happened", throwable);
}
@Override
public void onThinking() {
// show progress bar or something to the user while fetching profile
Log.i(TAG, "Thinking...");
}
@Override
public void onComplete(List<Profile> friends) {
for (Profile profile : friends) {
mLists.add(new FriendItem(profile.getName(), profile.getPicture()));
}
mAdapter = new FriendsListAdapter(getActivity());
mFriendsList.setAdapter(mAdapter);
}
};
그러나 프로필 개체에는 ID와 이름 만 포함됩니다. 비동기로 get 메서드를 호출해야합니까? 또는 내가 getFriends () 메소드로 할 수있는 모든 것.
권한 목록은 다음과 같습니다.
Permission[] permissions = new Permission[] {
Permission.BASIC_INFO,
Permission.USER_CHECKINS,
Permission.USER_EVENTS,
Permission.USER_GROUPS,
Permission.USER_LIKES,
Permission.USER_PHOTOS,
Permission.USER_VIDEOS,
Permission.FRIENDS_EVENTS,
Permission.FRIENDS_PHOTOS,
Permission.PUBLISH_STREAM };
어떤 이유로 요청한 사항을 처리하려면 onLogin 내부의 onComplete () 메서드를 재정의해야합니다.
응답은 권한 빌더에서 요청한 모든 것을 포함합니다.
나는 이것을 알아 내기 위해 엄청난 시간을 보냈다. 도움이되기를 바랍니다 :)
final OnLoginListener onLoginListener = new OnLoginListener() {
@Override
public void onLogin(String accessToken, List<Permission> acceptedPermissions, List<Permission> declinedPermissions) {
OnProfileListener onProfileListener = new OnProfileListener() {
@Override
public void onComplete(final Profile response) {
super.onComplete(response);
.
. // Your code in here`enter code here`
.
});
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다