我正在我的应用程序中集成 facebook 登录和发布提要。为此,我正在使用Android Simple Facebook
我实现了登录流程,然后我正在处理发布流程。为此,我想做以下事情:
当用户在我的应用程序中单击分享到 facebook 按钮时,我不想直接发布,但我想获得发布权限,以便稍后发布(类似于 instagram,他们首先获得权限,然后他们添加照片时发布)。
为此,我这样做了:
if (mSimpleFacebook.isLogin()) {
//The user is logged in so we proceed
if (mSimpleFacebook.getGrantedPermissions().contains(
Permission.PUBLISH_ACTION.getValue())) {
hasPermission = true;
} else {
//we don't have permission we request it.
mSimpleFacebook.requestNewPermissions(
SocialUtilities.getFacebookPublishPermissions(), true,
newPermissionListener);
}
}
但是,即使我已经登录并有一个会话,我也会在获得许可之前提示我再次登录。我查看了 Simple Facebook 库的代码,看起来他正在注销然后再次登录,登录后他请求新的权限。
我想问,为什么会这样?我们不能只请求新权限而不注销然后再次登录(类似于instagram)吗?由于 SessionManager 是私有且不可访问的,因此无法在库中覆盖该行为。
那么有没有一种方法可以在不注销并强制用户再次登录的情况下使用库来请求新权限?还是我必须把它放在一边,使用原生 Facebook SDK 从头开始实现一切?
非常感谢您对此事的任何帮助或澄清
编辑: 为了澄清。在 facebook SDK 中,您可以请求新的权限,并且用户将看到新的权限屏幕以接受。这类似于 instagram 我同意,这就是我想要的。但我想知道为什么 Simple Facebook 库在这样做之前会强制注销,有没有办法覆盖它,或者我是否必须停止使用该库并仅使用本机 facebook SDK 重新实现所有内容?感谢