我正在使用Facebook小部件的LoginButton通過Facebook登錄。facebook的LoginButton
mLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this,Arrays.asList("public_profile", "user_friends"));
}
});
我有兩個issues-
1.當我點擊登錄按鈕Facebook登錄對話框打開兩個times.So我提供用戶電子郵件地址和密碼登錄後,在第一時間後,它顯示了另一個登錄對話框後面我必須關閉。
2.當我登錄並移動到下一個屏幕後,如果我回到登錄屏幕,它會在登錄按鈕中顯示註銷文本,這是理想的。但是當我點擊它時,它會打開登錄和註銷對話框。它應該只是註銷對話框box.How打開我應該阻止LoginManager.getInstance().logInWithReadPermissions(MainActivity.this,Arrays.asList("public_profile", "user_friends"));
從如果用戶已經登錄執行。
下面是他的代碼我使用loginButton
public class MainActivity extends AppCompatActivity {
private LoginButton mLoginButton;
CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
// Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
// setSupportActionBar(toolbar);
mLoginButton = (LoginButton) findViewById(R.id.login_button);
mLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
if(accessToken==null) {
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile", "user_friends"));
}
}
});
mLoginButton.registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException exception) {
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
我已經這樣做了 – user3751386
你能否onError的檢查,它不會被調用? –
這是問題是當我點擊登錄按鈕Facebook登錄對話框打開兩次。所以在我提供用戶的電子郵件和密碼後第一次登錄後,它顯示了我必須關閉的另一個登錄對話框。 – user3751386