2012-10-27 2 views
0

가능한 중복 :
launch facebook app from other appAndroid Facebook 앱을 여는 방법?

나는 하나 개의 안드로이드 프로젝트를하고있는 중이 야, 내가 사용자 아이디, AccessToken 같은 페이스 북의 사용자 정보를 얻을 필요가있는 프로젝트에서.

FCEbook SDK를 사용한 Facebook 통합 완료.

이제 Facebook은 URL SCHEME을 출시하여 Facebook 응용 프로그램을 열고 사용자 세부 정보를 얻을 수 있습니다.

이 같은 끝났어요, 페이스 북 응용 프로그램 호출이 코드에서

long longFacebookUid = Long.parseLong(facebookUid); 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setClassName("com.facebook.katana", "com.facebook.katana.ProfileTabHostActivity"); 
intent.putExtra("extra_user_id", facebookUid); 
this.startActivity(intent); 
return; 

, 그 후 나는 ID 및 토큰을 얻기 위해 어떻게 표시하지 않습니다.

감사합니다.

+2

이 대답을 참조하십시오. 멋지게 설명 http://stackoverflow.com/questions/13068866/android-how-to-user-details-after-successful-login-through-facebook/13069081#13069081 – AndroidLearner

+0

나를 위해 잘 작동하는 Facebook SDK입니다. 나는 페이스 북 응용 프로그램을 열고 사용자의 세부 정보를 얻을 필요가있다. – Jeeva123

+0

응답을 구문 분석하길 원하십니까? – AndroidLearner

답변

0

URL 기반 SCHEME 외에도 SDK 기반 기능을 사용하는 것이 더 간단합니다. 그러나 원하는 답변이 아닐 수도 있습니다.

주의 : 다음 정보는 페이스 북 - 안드로이드 SDK 2.0을 기반으로 권한 부여 기능 (로그인 파트)을 실행 한 후

(3.0 지금 사용 가능한됩니다) (다음은 페이스 북의 문서에서 샘플 코드)

facebook.authorize(this, new String[] {}, new DialogListener() { 
      @Override 
      public void onComplete(Bundle values) { 
       SharedPreferences.Editor editor = mPrefs.edit(); 
       editor.putString("access_token", facebook.getAccessToken()); 
       editor.putLong("access_expires", facebook.getAccessExpires()); 
       editor.commit(); 
      } 

      @Override 
      public void onFacebookError(FacebookError error) {} 

      @Override 
      public void onError(DialogError e) {} 

      @Override 
      public void onCancel() {} 
     }); 
    } 
단지 사용자 ID를 들어 SDK 2.0

String access_token=facebook.getAccessToken(); 

에 다음 함수를 실행, 액세스 토큰을 얻기 위하여

public String GetUserID(){ 
    Bundle params = new Bundle(); 
    params.putString("fields", "id"); 
    String resp= ""; 
    try { 
     resp = facebook.request("me", params, "GET");//call the request function in SDK 2.0, using graph api 
    } catch (FileNotFoundException e) { 
    } catch (MalformedURLException e) { 
    } catch (IOException e) { 
    } 
    try{ 
     resp = new JSONObject(resp).getString("id"); 
    }catch(JSONException e1){ 
    } 
    } 
    return resp; 
}; 

이 방법은 결과를 얻는 가장 간단한 방법이지만 URL SCHEME을 사용하지 않는 것입니다.

도움이되기를 바랍니다.

관련 문제