마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

페이스북 프로필 이미지(setImageBitmap)가 안넘어오네요..

0 추천

안드로이드로 페이스북 로그인 연동한 후, 페이스북에 있는 프로필 사진을 받아오려 합니다.

 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(this.getApplicationContext());
    setContentView(R.layout.login_activity);
 
    callbackManager = CallbackManager.Factory.create();
 
    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
    loginButton.setReadPermissions(Arrays.asList("public_profile", "email"));
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            GraphRequest graphRequest = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {
                    Log.v("result",object.toString());
 
                    try {
                        String email = object.getString("email");       // 이메일
                        String name = object.getString("name");         // 이름
                        String gender = object.getString("gender");     // 성별
 
                        String userId = object.getString("id");   //id
 
                        ImageView myImage = (ImageView)findViewById(R.id.facebookImage);
 
                        URL url = new URL("https://graph.facebook.com/"+userId+"/picture");
                        URLConnection conn = url.openConnection();
                        conn.connect();
                        BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
                        Bitmap bm = BitmapFactory.decodeStream(bis);
                        bis.close();
                        myImage.setImageBitmap(bm);
 
                        Log.d("TAG","페이스북 이메일 -> " + email);
                        Log.d("TAG","페이스북 이름 -> " + name);
                        Log.d("TAG","페이스북 성별 -> " + gender);
 
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
 
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,email,gender,birthday");
            graphRequest.setParameters(parameters);
            graphRequest.executeAsync();
        }
 
        @Override
        public void onCancel() {
 
        }
 
        @Override
        public void onError(FacebookException error) {
            Log.e("LoginErr",error.toString());
        }
    });
 
}

 

myImage.setImageBitmap(bm); 로 myImage를 바꿔줬는데도

로그인 후에도 변화가없습니다

똑돌이 (530 포인트) 님이 2016년 10월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...