

現在AndroidとFacebookを連携したアプリを作成しているのですが、Androidがインターネットに繋がっていない状態でアプリからFacebookにログインしようとすると、ログインのViewが一瞬現れてすぐに消えてしまいます。なのでその際のエラーコードなどを知りたいのですが、色々と調べてみてもどうすればいいか分かりません。どこにどういうメソッドを追加すればFacebookでのエラーを検知することができるでしょうか？下記のコードがFacebookの認証
& 投稿のコードになります。すみませんが、宜しくお願いします。

[code]

    public class PostFacebook {
        private static Activity mActivity;
        private static Session mSession;
        private boolean mLoopStopFlag;
    
        public PostFacebook(Activity activity) {
            mActivity = activity;
        }
    
        private void onSessionStateChange(Session session, SessionState state, Exception exception) {
            if (state.isOpened()) {
                mLoopStopFlag = false;
            } else if (state.isClosed()) {
                if (mSession.getState() != SessionState.CLOSED_LOGIN_FAILED) {
                    if (!mLoopStopFlag) {
                        initSession();
                        mSession.openForPublish(new Session.OpenRequest(mActivity).setCallback(callback).setPermissions(Arrays.asList("publish_actions")));
                        mLoopStopFlag = true;
                    }
                }
            }
        }
    
        public Session.StatusCallback callback = new Session.StatusCallback() {
            @Override
            public void call(Session session, SessionState state, Exception exception) {
                onSessionStateChange(session, state, exception);
            }
        };
    
        private void initSession() {
            mSession = new Session(mActivity);
            Session.setActiveSession(mSession);
        }
    
        public void shareFacebook() {
            if (mSession != null) {
                if (mSession.getState() == SessionState.CLOSED_LOGIN_FAILED) {
                    initSession();
                    mSession.openForPublish(new Session.OpenRequest(mActivity).setCallback(callback).setPermissions(Arrays.asList("publish_actions")));
                }
            } else {
                initSession();
                mSession.openForPublish(new Session.OpenRequest(mActivity).setCallback(callback).setPermissions(Arrays.asList("publish_actions")));
            }
            post();
        }
    
        public static void post() {
            Bitmap image = FacebookContents.getInstance().getmImage();
            if (mSession.isOpened()) {
                Request request = Request.newUploadPhotoRequest(mSession, image, new
                        Request.Callback() {
                            @Override
                            public void onCompleted(Response response) {
                                if (response.getError() == null) {
                                    Toast.makeText(mActivity, "メッセージを投稿しました。", Toast.LENGTH_SHORT).show();
    
                                } else {
                                    if (mSession.getState() == SessionState.OPENED) { Toast.makeText(mActivity, "失敗", Toast.LENGTH_SHORT).show(); }
                                }
                            }
                        });
                Bundle params = request.getParameters();
                {
                    params.putString("message", FacebookContents.getInstance().getmMessage());
                }
                request.executeAsync();
            }
        }
    }
    
[/code]


CC BY-SA 3.0
2015-02-13T05:54:46.517
6430
2015-02-13T05:54:46.517
5210
question
android facebook-api
Facebookのエラーハンドリング