我正在使用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