2013-05-31 1 views
0

휴대 전화에 이미 Facebook 기본 응용 프로그램이 설치되어있는 경우 해당 응용 프로그램에 사용자 이름과 암호를 입력 한 후 이동하고로드를 시작하고 브라우저를 사용하여 브라우저를 사용하여 전체 작업을 알리는 팝업을 표시합니다. 브라우저에 의하면 웹 페이지를 사용할 수 없습니다.Facebook 샘플 세션 로그인 응용 프로그램이 기본 Facebook 앱이 설치된 경우 작동하지 않습니다.

fbconnect : // success # sucess_token = CAA의 웹 페이지가 임시로 다운되거나 영구적으로 새 웹 주소로 이동했을 수 있습니다. 응용 프로그램에 콜백이 호출되지 않습니다.

해시 키를 올바르게 만들었습니다. 응용 프로그램 SSO가 SDK 버전 2.0에서 올바르게 작동합니다. 따라서 해시 키가 일치하지 않아야합니다. 응용 프로그램이 SessionLoginBehavior.SUPPRESS_SSO 모드로 예상대로 작동합니다.

OpenRequest req=new OpenRequest(LoginActivity.this); 
req.setPermissions(Arrays.asList("read_stream", "user_birthday","email")); 
session.openForRead(req.setCallback(statusCallback)); 

세션 로그인 메커니즘을 사용하여 SSO 동작을 구현하는 방법이 있습니까? 나는 내가 어디에서 대답을 찾지 못했는지를 모두 찾아 본다. 네이티브 페이스 북 응용 프로그램이 시작되면 실패합니다. 당신은 다음과 같이 사용할 수 있습니다

답변

0

...

mBtnFacebook = (LoginButton) v.findViewById(R.id.btn_facebook); 
mBtnFacebook.setReadPermissions(Arrays.asList("email", "user_birthday")); 
mBtnFacebook.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK); 

다음

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode != 0) { 
      Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); 
      Session.openActiveSession(this, true, new Session.StatusCallback() { 
       @Override 
       public void call(final Session session, SessionState state, Exception exception) { 
        if (session.isOpened()) { 
         Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { 
          @Override 
          public void onCompleted(GraphUser user, Response response) { 
           if (user != null) { 

           } 
          } 
         }); 
        } 
       } 
      }); 
     } 
    } 

있는지 확인 매니페스트

<activity android:name="com.facebook.LoginActivity" 
      android:screenOrientation="portrait" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar" 
      android:label="@string/app_name" /> 

이있을뿐만 아니라

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/> 

태그 :)를되어야

+0

마지막으로 문제를 파악했습니다. 페이스 북 전화 애플리케이션을 최신 버전으로 업데이트 할 때이 SSO 웹 페이지 리디렉션 문제는 사라졌습니다. 동일한 문제가있는 경우 facebook 응용 프로그램을 최신 버전으로 업데이트하고 시도하십시오. mBarisa 님의 관심에 감사드립니다. –

0

이 코드 해시 키 생성하는데 사용

태그 안에.

try { 
      PackageInfo info = getPackageManager().getPackageInfo(
        "com.facebook.scrumptious", PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       Log.d("YOURHASH KEY:", 
         Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
      } 
     } catch (NameNotFoundException e) { 

     } catch (NoSuchAlgorithmException e) { 

     } 

thanks. 
관련 문제