我正在尝试将新的Facebook SDK 3.0应用到我的Android应用程序中,但我遇到了一个问题.我遇到的问题是,用户被要求再次登录给发布("post_to_wall")的权限,即使用户已经登录,具有读取权限.仅当用户未安装FB应用程序时才会发生这种情况.如果他安装了FB应用程序,则只要求他授予权限.
这是我实现登录的方式:
public void login(Activity activity) {
Session session = Session.getActiveSession();
if (session == null || !session.isOpened()) {
openActiveSession(activity, true, sessionStatusCallback);
}
}
private Session openActiveSession(final Activity activity, final boolean allowLoginUI, final StatusCallback callback) {
return openActiveSession(activity, allowLoginUI, new OpenRequest(activity).setCallback(callback));
}
private Session openActiveSession(final Context context, final boolean allowLoginUI, final OpenRequest openRequest) {
Session session = new Builder(context).setApplicationId(FACEBOOK_APPLICATION_ID).build();
if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState()) || allowLoginUI) {
Session.setActiveSession(session);
session.openForRead(openRequest);
return session;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
这是回调的调用方法:
public void call(final Session session, final …Run Code Online (Sandbox Code Playgroud)