当前位置: 首页>>代码示例>>Java>>正文


Java Session.OpenRequest方法代码示例

本文整理汇总了Java中com.facebook.Session.OpenRequest方法的典型用法代码示例。如果您正苦于以下问题:Java Session.OpenRequest方法的具体用法?Java Session.OpenRequest怎么用?Java Session.OpenRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.facebook.Session的用法示例。


在下文中一共展示了Session.OpenRequest方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: openSession

import com.facebook.Session; //导入方法依赖的package包/类
private void openSession(String applicationId, List<String> permissions,
        SessionLoginBehavior behavior, int activityCode, SessionAuthorizationType authType) {
    if (sessionTracker != null) {
        Session currentSession = sessionTracker.getSession();
        if (currentSession == null || currentSession.getState().isClosed()) {
            Session session = new Session.Builder(getActivity()).setApplicationId(applicationId).build();
            Session.setActiveSession(session);
            currentSession = session;
        }
        if (!currentSession.isOpened()) {
            Session.OpenRequest openRequest = new Session.OpenRequest(this).
                    setPermissions(permissions).
                    setLoginBehavior(behavior).
                    setRequestCode(activityCode);
            if (SessionAuthorizationType.PUBLISH.equals(authType)) {
                currentSession.openForPublish(openRequest);
            } else {
                currentSession.openForRead(openRequest);
            }
        }
    }
}
 
开发者ID:MobileDev418,项目名称:AndroidBackendlessChat,代码行数:23,代码来源:FacebookFragment.java

示例2: onClickLogin

import com.facebook.Session; //导入方法依赖的package包/类
public void onClickLogin() {
    Session session = Session.getActiveSession();
    if (!session.isOpened() && !session.isClosed()) {
        Session.OpenRequest openRequest = new Session.OpenRequest(mContext);
        openRequest.setPermissions(this.mPermissions);
        openRequest.setCallback(this);
        session.openForRead(openRequest);
    } else {
        Session.openActiveSession(mContext, true, this);
    }
}
 
开发者ID:alessandrogurgel,项目名称:pedefacil,代码行数:12,代码来源:FbLoginDelegate.java

示例3: openSession

import com.facebook.Session; //导入方法依赖的package包/类
private void openSession(Session session, Session.OpenRequest openRequest, boolean isPublish) {
    openRequest.setIsLegacy(true);
    if (isPublish) {
        session.openForPublish(openRequest);
    } else {
        session.openForRead(openRequest);
    }
}
 
开发者ID:yeloapp,项目名称:yelo-android,代码行数:9,代码来源:Facebook.java

示例4: getSession

import com.facebook.Session; //导入方法依赖的package包/类
/**
 * Get the underlying Session object to use with 3.0 api.
 * 
 * @return Session - underlying session
 */
@Deprecated
public final Session getSession() {
    while (true) {
        String cachedToken = null;
        Session oldSession = null;

        synchronized (this.lock) {
            if (userSetSession != null) {
                return userSetSession;
            }
            if ((session != null) || !sessionInvalidated) {
                return session;
            }

            cachedToken = accessToken;
            oldSession = session;
        }

        if (cachedToken == null) {
            return null;
        }

        // At this point we do not have a valid session, but mAccessToken is
        // non-null.
        // So we can try building a session based on that.
        List<String> permissions;
        if (oldSession != null) {
            permissions = oldSession.getPermissions();
        } else if (pendingAuthorizationPermissions != null) {
            permissions = Arrays.asList(pendingAuthorizationPermissions);
        } else {
            permissions = Collections.<String>emptyList();
        }

        Session newSession = new Session.Builder(pendingAuthorizationActivity).
                setApplicationId(mAppId).
                setTokenCachingStrategy(getTokenCache()).
                build();
        if (newSession.getState() != SessionState.CREATED_TOKEN_LOADED) {
            return null;
        }
        Session.OpenRequest openRequest =
                new Session.OpenRequest(pendingAuthorizationActivity).setPermissions(permissions);
        openSession(newSession, openRequest, !permissions.isEmpty());

        Session invalidatedSession = null;
        Session returnSession = null;

        synchronized (this.lock) {
            if (sessionInvalidated || (session == null)) {
                invalidatedSession = session;
                returnSession = session = newSession;
                sessionInvalidated = false;
            }
        }

        if (invalidatedSession != null) {
            invalidatedSession.close();
        }

        if (returnSession != null) {
            return returnSession;
        }
        // Else token state changed between the synchronized blocks, so
        // retry..
    }
}
 
开发者ID:yeloapp,项目名称:yelo-android,代码行数:73,代码来源:Facebook.java

示例5: onClick

import com.facebook.Session; //导入方法依赖的package包/类
@Override
public void onClick(View v) {
    Context context = getContext();
    final Session openSession = sessionTracker.getOpenSession();

    if (openSession != null) {
        // If the Session is currently open, it must mean we need to log out
        if (confirmLogout) {
            // Create a confirmation dialog
            String logout = getResources().getString(R.string.com_facebook_loginview_log_out_action);
            String cancel = getResources().getString(R.string.com_facebook_loginview_cancel_action);
            String message;
            if (user != null && user.getName() != null) {
                message = String.format(getResources().getString(R.string.com_facebook_loginview_logged_in_as), user.getName());
            } else {
                message = getResources().getString(R.string.com_facebook_loginview_logged_in_using_facebook);
            }
            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage(message)
                   .setCancelable(true)
                   .setPositiveButton(logout, new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int which) {
                           openSession.closeAndClearTokenInformation();
                       }
                   })
                   .setNegativeButton(cancel, null);
            builder.create().show();
        } else {
            openSession.closeAndClearTokenInformation();
        }
    } else {
        Session currentSession = sessionTracker.getSession();
        if (currentSession == null || currentSession.getState().isClosed()) {
            sessionTracker.setSession(null);
            Session session = new Session.Builder(context).setApplicationId(applicationId).build();
            Session.setActiveSession(session);
            currentSession = session;
        }
        if (!currentSession.isOpened()) {
            Session.OpenRequest openRequest = null;
            if (parentFragment != null) {
                openRequest = new Session.OpenRequest(parentFragment);
            } else if (context instanceof Activity) {
                openRequest = new Session.OpenRequest((Activity)context);
            }

            if (openRequest != null) {
                openRequest.setDefaultAudience(properties.defaultAudience);
                openRequest.setPermissions(properties.permissions);
                openRequest.setLoginBehavior(properties.loginBehavior);

                if (SessionAuthorizationType.PUBLISH.equals(properties.authorizationType)) {
                    currentSession.openForPublish(openRequest);
                } else {
                    currentSession.openForRead(openRequest);
                }
            }
        }
    }

    AppEventsLogger logger = AppEventsLogger.newLogger(getContext());

    Bundle parameters = new Bundle();
    parameters.putInt("logging_in", (openSession != null) ? 0 : 1);

    logger.logSdkEvent(loginLogoutEventName, null, parameters);
}
 
开发者ID:yeloapp,项目名称:yelo-android,代码行数:68,代码来源:LoginButton.java


注:本文中的com.facebook.Session.OpenRequest方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。