如何禁用Facebook本机应用程序以进行用户登录

KAP*_*OID 3 android facebook login native single-sign-on

我在Android应用程序中登录facebook用户有问题.我希望用户使用他们的Facebook帐户登录我的系统但是当我点击登录按钮时,Facebook本机应用程序启动,用户输入电子邮件和密码,然后本机应用程序关闭,我的应用程序再次启动 我不想使用原生应用程序进行此登录进程我想打开Facebook登录弹出窗口,就像其他手机没有Facebook本机应用程序.

我怎样才能做到这一点?谢谢

编辑:

我使用以下方法登录

protected void loginToFacebook()
{


    if( !mFacebook.isSessionValid() ) {
        Toast.makeText(mActivity, "logining", Toast.LENGTH_SHORT).show();
        mFacebook.authorize(mActivity,permissions, new LoginDialogListener());
    }
    else { 
        try {
            JSONObject json = Util.parseJson(mFacebook.request("me"));
            String facebookID = json.getString("id");
            String firstName = json.getString("first_name");
            String lastName = json.getString("last_name");
            String email = json.getString("email");
            Toast.makeText(mActivity,  mFacebook.getAccessToken()+email+"-" + firstName + " " + lastName + ". No need to re-authorize.", Toast.LENGTH_SHORT).show();

            appState.mFbToken = mFacebook.getAccessToken();
            appState.mFbEmail = email;
            mFacebookListener.onFacebookLoginSelected();

        }
        catch( Exception error ) {
            Toast.makeText( mActivity, error.toString(), Toast.LENGTH_SHORT).show();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

听取回应

public final class LoginDialogListener implements DialogListener {
    public void onComplete(Bundle values) {
        try {
            //The user has logged in, so now you can query and use their Facebook info
            JSONObject json = Util.parseJson(mFacebook.request("me"));
            String facebookID = json.getString("id");
            String firstName = json.getString("first_name");
            String lastName = json.getString("last_name");
            String email = json.getString("email");
            Toast.makeText( mActivity, mFacebook.getAccessToken() +email+"-" +  firstName + " " + lastName + "!", Toast.LENGTH_SHORT).show();
            SessionStore.save(mFacebook, mActivity);

            appState.mFbToken = mFacebook.getAccessToken();
            appState.mFbEmail = email;
            mFacebookListener.onFacebookLoginSelected();


        }
        catch( Exception error ) {
            Toast.makeText( mActivity, error.toString(), Toast.LENGTH_SHORT).show();
        }
    }

    public void onFacebookError(FacebookError error) {
        Toast.makeText( mActivity, "Something went wrong. Please try again.", Toast.LENGTH_LONG).show();
    }

    public void onError(DialogError error) {
        Toast.makeText( mActivity, "Something went wrong. Please try again.", Toast.LENGTH_LONG).show();
    }

    public void onCancel() {
        Toast.makeText( mActivity, "Something went wrong. Please try again.", Toast.LENGTH_LONG).show();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果本机应用程序启动我的dialoglistenner不起作用,但如果基于Web的登录弹出窗口启动我的监听器工作正常.

任何的想法?

Dip*_*iya 6

请更新以下应用程序代码.

mFacebook.authorize(mActivity, permissions, Facebook.FORCE_DIALOG_AUTH,
            new LoginDialogListener());
Run Code Online (Sandbox Code Playgroud)

代替

mFacebook.authorize(mActivity, permissions, new LoginDialogListener());
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅以下链接

Facebook登录问题