登錄後再次出現我根據自己的文檔Facebook登錄對話框中
的問題是,之後用戶輸入其憑據(1個對話)進行登錄並確認應用程序的權限來實現對Android的Facebook登錄(2對話)facebook連接只需返回到(1對話框),再次請求憑證。爲什麼發生這種情況?
在Facebook的用戶,我可以看到在應用程序列表中選擇應用
這是我的代碼:
CallbackManager callbackManager = CallbackManager.Factory.create();
LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions("public_profile","user_friends");
// Callback registration
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
Log.i(Utils.TAG,"succesfull login to facebook");
// App code
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.i("LoginActivity", response.toString());
try {
}catch (Exception e)
{ Log.i(Utils.TAG, e.getMessage());
}
}
});
}
@Override
public void onCancel() {
// App code
Log.i(Utils.TAG,"onCancel login to facebook");
}
@Override
public void onError(FacebookException exception) {
// App code
Log.i(Utils.TAG,"onError login to facebook");
Log.i(Utils.TAG,exception.getMessage());
}
});
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// LoginManager.getInstance().logInWithReadPermissions((Activity)m_context, Arrays.asList("public_profile", "email", "user_birthday", "user_friends"));
LoginManager.getInstance().logInWithReadPermissions((Activity)m_context, Arrays.asList("public_profile", "user_friends"));
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i(Utils.TAG,"onActivityResult called");
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
我應該指出,沒有任何回調的登錄流程中被調用,只有當我關閉對話框