2014-04-28 5 views
0
i was following the tutorial from facebook developer website to retrieve my profile name and show in apps but it is just return nothing but the word that i input myself in else condition. I had generate the android key hashes from my computer and put to my fb developer profile and the apps id had include in my android project as well.... 

package com.example.mobile_e_commerce; 

import android.app.Activity; 
import android.app.Fragment; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 

import com.facebook.Request; 
import com.facebook.Response; 
import com.facebook.Session; 
import com.facebook.SessionState; 
import com.facebook.model.GraphUser; 

public class SignInPage extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_sign_in_page); 
이 세션이 내가 생각 열어야합니다

페이스 북의 로그인페이스 북에서 데이터를 검색 할 수 없습니다하지만, 실행중인 앱 미세

  // start Facebook Login 
      Session.openActiveSession(this, true, new Session.StatusCallback() { 

       // callback when session changes state 

      @Override 
       public void call(Session session, SessionState state, Exception exception) { 
을 열 수 있습니다

하지만 ///

   if (session.isOpened()) { 

        // make request to the /me API 
        Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { 

        // callback after Graph API response with user object 
        @Override 
        public void onCompleted(GraphUser user, Response response) { 
         if (user != null) { 

사용자 내 이름이어야하므로 Hello Issac을 출력해야하지만 else 조건문을 반환해야합니다!

     TextView welcome = (TextView) findViewById(R.id.welcome); 
         welcome.setText("Hello " + user.getName() + "!"); 
         } 
        } 
        }); 
       } 
       else 
       { 
         TextView welcome = (TextView) findViewById(R.id.welcome); 
         welcome.setText("User = Null"); 
       } 
       } 
      }); 
      /* 
     if (savedInstanceState == null) { 
      getFragmentManager().beginTransaction() 
        .add(R.id.container, new PlaceholderFragment()).commit(); 
     }*/ 
    } 

이 부분은 단지 일반적인 안드로이드 코드

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

이 있습니다이 부분은 단지 일반적인 안드로이드 코드

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.sign_in_page, menu); 
     return true; 
    } 

인 페이스 북의 활동

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); 
    } 

의 응답을 얻기 위해 부분은 그냥 ge이다. neral 안드로이드 코드

/** 
    * A placeholder fragment containing a simple view. 
    */ 
    public static class PlaceholderFragment extends Fragment { 

     public PlaceholderFragment() { 
     } 

이 부분은 일반적인 안드로이드 코드

 @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_sign_in_page, 
        container, false); 
      return rootView; 
     } 
    } 

} 
+0

마지막 페이스 북 SDK를 사용하고 facebook 그래프 api에서 더 많이 읽으십시오. https://developers.facebook.com/docs/android/graph/ – SacreDeveloper

+0

방금 ​​페이스 북 세션이 여하튼 열려 있지 않다는 것을 알았습니다 /// 그러지 마세요 어떤 생각 ??? – user3484436

+0

facebook 로그인 예와 같이 UI 헬퍼를 사용 해보십시오. – SacreDeveloper

답변

0

잘못된 키 해시를 사용하고 있기 때문에이 일을합니다.

새 해시 키를 생성하고 지금 갖고있는 대신 사용하십시오.

관련 문제