我正在創建一個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同時登錄讀取和發佈權限,似乎很奇怪,可能。