gpt4 book ai didi

java - Facebook SDK 授权适用于手机,但不适用于平板电脑

转载 作者:行者123 更新时间:2023-11-30 03:55:17 26 4
gpt4 key购买 nike

目前我正在尝试在我的 Android 应用程序中实现 Facebook SDK。我按照官方教程进行操作并使其正常运行,至少在我的 Galaxy S2 上是这样。我可以授权自己并将消息发布到我的墙上。但是当我在我的 Acer 平板电脑上尝试时,我得到了

11-19 11:15:54.160: W/System.err(7224): java.lang.UnsupportedOperationException: Session: an attempt was made to reauthorize a session that is not currently open.
11-19 11:15:54.160: W/System.err(7224): at com.facebook.Session.reauthorize(Session.java:1088)
11-19 11:15:54.160: W/System.err(7224): at com.facebook.Session.reauthorizeForPublish(Session.java:542)
11-19 11:15:54.160: W/System.err(7224): at de.lochmann.unnuetze.fakten.FacebookConnect.postToWall(FacebookConnect.java:199)

我的问题可能与 android facebook sdk - Session: an attempt was made to reauthorize a session that has a pending request 有关,但由于没有有效答案,我想我会再试一次。

我的代码的重要部分:

    if (session != null){
List<String> permissions = session.getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
this.pendingPublishReauthorization = true;
Session.ReauthorizeRequest reauthRequest = new Session.ReauthorizeRequest((Activity) _ctx, PERMISSIONS).setRequestCode(REAUTH_ACTIVITY_CODE);
try {
session.reauthorizeForPublish(reauthRequest);
} catch(UnsupportedOperationException uoe) {
uoe.printStackTrace();
Toast.makeText(this._ctx, "Error, Reauthorization failed",Toast.LENGTH_LONG).show();
}
return;
}

etc...
}

你知道我错过了什么吗?在此先感谢,非常感谢任何帮助。

最佳答案

这里的问题是您试图在 session 未处于打开状态时调用重新授权。仅检查 getPermissions() 不足以保证 session 已打开。你应该做的是检查 session 是否打开(通过 session.isOpen()),如果没有,首先调用各种打开方法之一。

关于java - Facebook SDK 授权适用于手机,但不适用于平板电脑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13452040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com