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

페이스북 공유하기기능 조언 부탁드립니다. [closed]

0 추천

안녕하세요.

 

페이스북 공유하기 기능을쓰려합니다.

어느정도 해놓고보니 문제가 눈에 들어와서 질문올립니다.

 

미친투수라는 어플을 보니 

게임결과창에서 페이스북 공유 버튼을 누르면  페북로그인을 한후에  곧바로 이어서 공유하기 기능이 가능한것을 봤습니다.

 

그런데 제가 만든것을 보면  로그인이 안된상태에서 공유하기 기능을 쓰려할경우 앱이 죽더라구요.

에러로그는 ...

이렇게 나옵니다.

 

private void publishFeedDialog() {
    Bundle params = new Bundle();
    params.putString("name", "Facebook SDK for Android");
    params.putString("caption", "Build great social apps and get more installs.");
    params.putString("description", "The Facebook SDK for Android makes it easier and faster to develop Facebook integrated Android apps.");
    params.putString("link", "https://developers.facebook.com/android");
    params.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png");

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

            @Override
            public void onComplete(Bundle values,
                FacebookException error) {
                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(getActivity(),
                            "Posted story, id: "+postId,
                            Toast.LENGTH_SHORT).show();
                    } else {
                        // User clicked the Cancel button
                        Toast.makeText(getActivity().getApplicationContext(), 
                            "Publish cancelled", 
                            Toast.LENGTH_SHORT).show();
                    }
                } else if (error instanceof FacebookOperationCanceledException) {
                    // User clicked the "x" button
                    Toast.makeText(getActivity().getApplicationContext(), 
                        "Publish cancelled", 
                        Toast.LENGTH_SHORT).show();
                } else {
                    // Generic, ex: network error
                    Toast.makeText(getActivity().getApplicationContext(), 
                        "Error posting story", 
                        Toast.LENGTH_SHORT).show();
                }
            }

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

코드는 이런식을 쓰고있습니다.

 

더도말고 덜도말고 딱 윗부분들만 고쳐서 사용하는데  ,

미친투수의 경우

로그인->공유 절차가 하나로 묶인것처럼 작동하더라구요.

 

저도 그러고싶은데  어떻게 하면 좋을까요 .

 

로그인이 안되어있을경우  로그인을하고 그다음공유 를 하는건 할수있지만,

따로따로 동작하는 기능들을 그저 연달아 불러주는것이고, 

 

미친투수는 한번의 명령으로 두가지 기능을 작동을시키는것같은 느낌이 들었습니다.

 

 먼저 페북 공유하기를 해보신 선배님들의 조언 부탁드립니다.

질문을 종료한 이유: 자체 해결
안드로이드로이으잉 (1,560 포인트) 님이 2014년 6월 30일 질문
안드로이드로이으잉님이 2014년 6월 30일 closed
...