2

私は、facebook android sdk と sso 機能を使用するアプリを構築しています。アプリを起動するたびに、sso を介して既存の Facebook アプリ経由でログインしている間、Facebook ウィンドウが短時間表示されます。この画面を非表示にして、Facebook の資格情報やセッションなどをチェックしている間、私のアクティビティが常に一番上に表示されるようにする方法はありますか?

4

1 に答える 1

1

最初はログインしていないユーザーで、ログイン用のダイアログをポップアップするように求めます。ただし、ユーザーがログインして Facebook リクエストを送信しようとすると、セッションがチェックされ、有効な場合はダイアログが表示されません。

初めてログインするときは、有効期限とアクセストークンを共有設定に保存し、2回目にこれらを渡し/設定し(有効期限とアクセストークンをfacebookオブジェクトに)、有効なセッションであることを確認します。

これが簡単なコードです。アクセストークンを保存し、以下のメソッド facebook.authorize で期限切れになります: onComplete リスナー:

例えば

Editor editor = mPrefs.edit();
                        editor.putString("access_token",
                                facebook.getAccessToken());
                        editor.putLong("access_expires",
                                facebook.getAccessExpires());
                        editor.commit();

次回は、これらの値を facebook オブジェクトに渡し、その有効性を確認しますか?

facebook = new Facebook(MyConstant.Fb_APPID);
            String access_token = preferences.getString("access_token",
                    null);
            long expires = preferences.getLong("access_expires", 0);
            if (access_token != null) {
                facebook.setAccessToken(access_token);
            }
            if (expires != 0) {
                facebook.setAccessExpires(expires);
            }
if (facebook.isSessionValid()){
                // do your work here
            }

あなたに役立つことを願っています....

于 2012-08-01T05:08:39.400 に答える