我正在创建一个Android应用程序,您应该可以使用Facebook登录并具有读取和发布权限。我用LoginManager实现它,它运行得很好。这是我的方法登录到Facebook的:是否可以使用Facebook登录管理器以及读取和发布权限登录?
/**
* Attempts to log the user into facebook and to get an access token.
*/
private void facebookLogin() {
callbackManager = CallbackManager.Factory.create();
LoginManager loginManager = LoginManager.getInstance();
loginManager.registerCallback(callbackManager, new FacebookLoginCallback());
loginManager.logInWithReadPermissions(this, Constants.FB_READ_PERMISSIONS);
loginManager.logInWithPublishPermissions(this, Constants.FB_PUBLISH_PERMISSIONS);
}
我一段时间后发现,虽然这个代码片段将启动对彼此顶部两个独立的Facebook登录,当一个人完成了另一种是仍然在后台。如果我仅以读取权限登录(或仅以发布方式登录),则只需登录一次,这正是我想要的。
但是我确实需要两种类型的权限。我浏览了Facebook Android登录guide,他们声称你应该使用LoginButton,因为它可以存储所需的权限,然后在一个登录中获得所有权限。这是登录管理器不可能的吗?我查看了整个互联网,this是唯一指出登录管理器登录时读取或发布,但LoginButton可以同时登录。
这一切是真的吗?将登录从LoginManager更改为LoginButton并不是一项巨大的工作,但我只想知道是否无法通过LoginManager同时登录读取和发布权限,似乎很奇怪,可能。