2013-08-12 2 views
1

Facebook에서 데이터를 공유하는 Android 애플리케이션을 개발 중입니다. 내가 사용하고있다 Facebook SDK 3.0.2 성공적으로 로그인 인증을 구현하고 페이스 북 공유를 구현했지만 Facebook 앱이 이미 장치에 설치되어있는 동안 문제가 발생한다.공식 앱이 이미 설치되어있을 때 Facebook 공유가 작동하지 않습니다.

기기에 이미 내 앱보다 Facebook 앱이있는 경우 기본 Facebook 앱 로그인 및 공유 방법으로 이동하여 성공적으로 로그인하지만 공유하려면 클릭하면 "myApp이 공개 프로필 및 친구 목록에 액세스하려고합니다. " 그리고 Ok 버튼을 클릭했을 때 아무것도하지 않습니다. 나는 많은 것을 검색했지만 유용한 해결책을 찾지 못했고 페이스 북 문서에서 이것에 대한 해결책을 찾지 못했습니다. 당신이 LoginButton 선언 할 때

private void publishFeedDialog(String title, String description, 
     String time, String imageUrl) { 

    String fileId = m_YouScoopList.get(mShareIndex).file_id; 
    String linkUrl = ""; 

    if (m_YouScoopList.get(mShareIndex).file_type_id.equals("2")) { 
     linkUrl = "http://www.mywebsite.com/news/my/imageshare/" 
       + fileId; 
    } else { 
     linkUrl = "http://www.mywebsite.com/news/imageshare/videoshare/" 
       + fileId; 
    } 
    Bundle params = new Bundle(); 
    params.putString("name", "" + title); 
    params.putString("caption", "" + time); 
    params.putString("description", "" + description); 
    params.putString("link", linkUrl); 
    params.putString("picture", "" + imageUrl); 

    WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(
      MainActivity5.this, Session.getActiveSession(), params)) 
      .setOnCompleteListener(new OnCompleteListener() { 

       public void onComplete(Bundle values, 
         FacebookException error) { 
        // TODO Auto-generated method stub 

        if (error == null) { 
         // When the story is posted, echo the success 
         // and the post Id. 
         final String postId = values.getString("post_id"); 
         if (postId != null) { 
          Toast.makeText(MainActivity5.this, 
            "Posted on facebook successfully!", 
            Toast.LENGTH_SHORT).show(); 
         } else { 
          // User clicked the Cancel button 
          Toast.makeText(
            MainActivity5.this 
              .getApplicationContext(), 
            "Publish cancelled", Toast.LENGTH_SHORT) 
            .show(); 
         } 
        } else if (error instanceof FacebookOperationCanceledException) { 
         // User clicked the "x" button 
         Toast.makeText(
           MainActivity5.this.getApplicationContext(), 
           "Publish cancelled", Toast.LENGTH_SHORT) 
           .show(); 
        } else { 
         // Generic, ex: network error 
         Toast.makeText(
           MainActivity5.this.getApplicationContext(), 
           "Error posting story", Toast.LENGTH_SHORT) 
           .show(); 
        } 
       } 

      }).build(); 
    feedDialog.show(); 
} 
+0

이 스레드는 당신을 도울 수 : http://stackoverflow.com/a/18151294/334522 – sromku

+0

재생 해 주셔서 감사합니다.하지만 작동하지 않습니다. 동일한 문제가 발생합니다. – nishitpatel

+0

안녕하세요. 해피 키를 잘못 전달했기 때문에 재생 문제가 발생하여 죄송합니다. – nishitpatel

답변

1

이 추가 :

authButton.setLoginBehavior (SessionLoginBehavior.SUPPRESS_SSO를);

+0

리플레이 해줘서 고맙지 만 페이 스북 로그인 버튼을 사용하지 않고 기본 Android 버튼에 코드를 작성했습니다. – nishitpatel