Java Android中的Facebook登录会弹出两个登录屏幕

Java Android中的Facebook登录会弹出两个登录屏幕,java,android,facebook,facebook-graph-api,Java,Android,Facebook,Facebook Graph Api,我已经将Facebook登录集成到我的android应用程序中。但每当我点击“继续使用Facebook”时,它会弹出两个登录屏幕,即当我输入凭证并继续时,而不是返回应用程序时,仍会出现一个登录屏幕。如果只是取消它,它将返回应用程序并登录 我的问题是如何删除额外的登录屏幕,我认为这个问题的原因是facebook SDK小部件自动启动登录屏幕 public void onClick(View view) { if(view.getId() == R.id.fb_login_button){

我已经将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"
        />

试试这个:- 一键单击查看.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();
            }

        }
    });
}
}
发生这种情况是因为您要单击按钮两次。

因此,在单击“禁用”按钮后,再在“完成”
中再次启用它


将来如果有人遇到这个问题

我想不出这个问题的解决办法。
然而,我通过删除facebook登录小部件和添加自定义fb登录按钮找到了解决办法。

不起作用,仍然打开两个选项卡。无论如何,我找到了答案。谢谢你花时间回答我的问题。是什么@数据十字军