我已将 Facebook 登录集成到我的 Android 应用程序中。但是每当我点击“继续使用 Facebook”时,它会弹出两个登录屏幕,即当我输入凭据并继续时,不会返回到应用程序,还会有一个登录屏幕。如果只是取消它,它将返回到应用程序并登录。
我的问题是如何删除多余的登录屏幕,我认为这个问题的原因是 facebook SDK 小部件自动启动登录屏幕。
public void onClick(View view) {
if(view.getId() == R.id.fb_login_button){
ParseFacebookUtils.logInWithReadPermissionsInBackground(MainActivity.this, mPermissions, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
if (user == null) {
Log.d("Login", "Uh oh. The user cancelled the Facebook login.");
Toast.makeText(getApplicationContext(),"An Error occurred, Try Again!",Toast.LENGTH_LONG).show();
} else if (user.isNew()) {
Log.d("Login", "User signed up and logged in through Facebook!");
getUserDetailsFromFB();
} else {
Log.d("Login", "User logged in through Facebook!");
getUserDetailsFromParse();
showHomeActivity();
}
}
});
}
}
Activity .xml
<com.facebook.login.widget.LoginButton
android:id="@+id/fb_login_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:onClick="onClick"
/>
最佳答案
试试这个:-
单击一次 view.setEnabled(false);
并在 done
中再次启用,如 view.setEnabled(true);
使用此代码..
public void onClick(View view) {
view.setEnabled(false); //disable the button click
if(view.getId() == R.id.fb_login_button){
ParseFacebookUtils
.logInWithReadPermissionsInBackground(MainActivity.this, mPermissions, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
view.setEnabled(true); // enable it again..
if (user == null) {
Log.d("Login", "Uh oh. The user cancelled the Facebook login.");
Toast.makeText(getApplicationContext(),"An Error occurred, Try Again!",Toast.LENGTH_LONG).show();
} else if (user.isNew()) {
Log.d("Login", "User signed up and logged in through Facebook!");
getUserDetailsFromFB();
} else {
Log.d("Login", "User logged in through Facebook!");
getUserDetailsFromParse();
showHomeActivity();
}
}
});
}
}
发生这种情况是因为您点击了按钮两次..
So, after clicking disable the button and then again in
done
enable it again !
关于java - Android中的Facebook登录弹出两个登录界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49003037/